将用户控件从一个项目转移到另一个项目

时间:2015-12-31 11:00:38

标签: c# wpf user-controls

我必须在一个项目中关注用户控制。

<UserControl x:Class="Support.Throbber"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         xmlns:ed="http://schemas.microsoft.com/expression/2010/drawing"
         xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
         xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
         mc:Ignorable="d" 
         d:DesignHeight="40" d:DesignWidth="40"
         >
<UserControl.Resources>

    <Storyboard x:Key="SpinIt">
        <DoubleAnimationUsingKeyFrames 
            Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)"
            RepeatBehavior="30x"
            Storyboard.TargetName="ArcContainer">
            <EasingDoubleKeyFrame KeyTime="0:0:1" Value="360"/>
        </DoubleAnimationUsingKeyFrames>
    </Storyboard>

</UserControl.Resources>
<UserControl.Triggers>
    <EventTrigger RoutedEvent="UIElement.GotFocus" SourceName="ArcContainer">
        <BeginStoryboard Storyboard="{StaticResource SpinIt}"/>
    </EventTrigger>
</UserControl.Triggers>

<Grid Height="40" Width="40">
    <ContentControl x:Name="ArcContainer" RenderTransformOrigin="0.5,0.5">
        <ContentControl.RenderTransform>
            <TransformGroup>
                <ScaleTransform/>
                <SkewTransform/>
                <RotateTransform/>
                <TranslateTransform/>
            </TransformGroup>
        </ContentControl.RenderTransform>
        <ContentControl.Template>
            <ControlTemplate TargetType="{x:Type ContentControl}">
                <ed:Arc x:Name="arc" ArcThickness="8" 
                    EndAngle="380" Height="40" Stretch="None"
                    StartAngle="200" UseLayoutRounding="False" Width="40" 
                    RenderTransformOrigin="0.5,0.5">
                    <ed:Arc.Fill>
                        <LinearGradientBrush EndPoint="0.5,.85" StartPoint="0.5,0">
                            <GradientStop Color="CadetBlue"/>
                            <GradientStop Color="White" Offset="1"/>
                        </LinearGradientBrush>
                    </ed:Arc.Fill>
                </ed:Arc>
            </ControlTemplate>
        </ContentControl.Template>
    </ContentControl>
</Grid>

在我复制代码的项目中,它编译并完美地工作但是当转移到另一个项目时,我得到了错误:

&#34;错误4可附加属性&#39;填充&#39;未在类型&#39; Arc&#39;&#34;

中找到

错误1名称&#34; Arc&#34;命名空间中不存在&#34; http://schemas.microsoft.com/expression/2010/drawing&#34;。

我错过了什么,我错过的东西被困在这里......

1 个答案:

答案 0 :(得分:1)

将UserControl的代码从一个项目复制粘贴到另一个项目要求目标项目与源的程序集/二进制引用相同。

在您的情况下,您需要将Microsoft.Expression.Drawing程序集引用到目标项目。

相关问题