Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C#中设置Storyboard.TargetProperty?_C#_Wpf_Animation_Storyboard - Fatal编程技术网

如何在C#中设置Storyboard.TargetProperty?

如何在C#中设置Storyboard.TargetProperty?,c#,wpf,animation,storyboard,C#,Wpf,Animation,Storyboard,我正在用C#开发wpf应用程序。下面的xaml代码对我来说运行良好 <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="VisualStateGroup"> <VisualState x:Name="DefaultVisualState"> <Storyboard/> </VisualState>

我正在用C#开发wpf应用程序。下面的xaml代码对我来说运行良好

<VisualStateManager.VisualStateGroups>
    <VisualStateGroup x:Name="VisualStateGroup">
        <VisualState x:Name="DefaultVisualState">
            <Storyboard/>
        </VisualState>
        <VisualState x:Name="FocusVisualState">
            <Storyboard>
                <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)" Storyboard.TargetName="CircleEllipse1">
                    <EasingColorKeyFrame KeyTime="0" Value="#FF0004FF"/>
                </ColorAnimationUsingKeyFrames>
                <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(TextElement.Background).(SolidColorBrush.Color)" Storyboard.TargetName="TextBlock1">
                    <EasingColorKeyFrame KeyTime="0" Value="#FFBCB0B0"/>
                </ColorAnimationUsingKeyFrames>
            </Storyboard>
        </VisualState>
    </VisualStateGroup>
</VisualStateManager.VisualStateGroups>

在上面的代码中,我应该如何设置
故事板.TargetProperty=“(Shape.Fill)。(SolidColorBrush.Color)”
故事板.TargetProperty=“(TextElement.Background)。(SolidColorBrush.Color)”
在C#

中,您需要将其指定为字符串

private void AnimateColor(string ellipseName, Color ellipseColor, string textBlockName, Color textBlockColor)
            {
                EasingColorKeyFrame easingColorKeyFrameEllipseObj = new EasingColorKeyFrame();
                easingColorKeyFrameEllipseObj.KeyTime = KeyTime.FromTimeSpan(TimeSpan.FromSeconds(12));
                easingColorKeyFrameEllipseObj.Value = ellipseColor;

                ColorAnimationUsingKeyFrames colorAnimationUsingKeyFramesEllipseObj = new ColorAnimationUsingKeyFrames();
                Storyboard.SetTargetName(colorAnimationUsingKeyFramesEllipseObj, ellipseName);
                Storyboard.SetTargetProperty(
                    colorAnimationUsingKeyFramesEllipseObj, new PropertyPath("(Shape.Fill).(SolidColorBrush.Color)"));
                colorAnimationUsingKeyFramesEllipseObj.KeyFrames.Add(easingColorKeyFrameEllipseObj);

                EasingColorKeyFrame easingColorKeyFrameTextBlockObj = new EasingColorKeyFrame();
                easingColorKeyFrameTextBlockObj.KeyTime = KeyTime.FromTimeSpan(TimeSpan.FromSeconds(12));
                easingColorKeyFrameTextBlockObj.Value = textBlockColor;

                ColorAnimationUsingKeyFrames colorAnimationUsingKeyFramesTextBlockObj = new ColorAnimationUsingKeyFrames();
                Storyboard.SetTargetName(colorAnimationUsingKeyFramesTextBlockObj, textBlockName);
                Storyboard.SetTargetProperty(
                    colorAnimationUsingKeyFramesTextBlockObj, new PropertyPath("(TextElement.Background).(SolidColorBrush.Color)"));
                colorAnimationUsingKeyFramesTextBlockObj.KeyFrames.Add(easingColorKeyFrameTextBlockObj);


                Storyboard storyboard = new Storyboard();

                storyboard.Children.Add(colorAnimationUsingKeyFramesEllipseObj);
                storyboard.Children.Add(colorAnimationUsingKeyFramesTextBlockObj);

                storyboard.Begin(this, true);
            }
private void AnimateColor(string ellipseName, Color ellipseColor, string textBlockName, Color textBlockColor)
            {
                EasingColorKeyFrame easingColorKeyFrameEllipseObj = new EasingColorKeyFrame();
                easingColorKeyFrameEllipseObj.KeyTime = KeyTime.FromTimeSpan(TimeSpan.FromSeconds(12));
                easingColorKeyFrameEllipseObj.Value = ellipseColor;

                ColorAnimationUsingKeyFrames colorAnimationUsingKeyFramesEllipseObj = new ColorAnimationUsingKeyFrames();
                Storyboard.SetTargetName(colorAnimationUsingKeyFramesEllipseObj, ellipseName);
                Storyboard.SetTargetProperty(
                    colorAnimationUsingKeyFramesEllipseObj, new PropertyPath("(Shape.Fill).(SolidColorBrush.Color)"));
                colorAnimationUsingKeyFramesEllipseObj.KeyFrames.Add(easingColorKeyFrameEllipseObj);

                EasingColorKeyFrame easingColorKeyFrameTextBlockObj = new EasingColorKeyFrame();
                easingColorKeyFrameTextBlockObj.KeyTime = KeyTime.FromTimeSpan(TimeSpan.FromSeconds(12));
                easingColorKeyFrameTextBlockObj.Value = textBlockColor;

                ColorAnimationUsingKeyFrames colorAnimationUsingKeyFramesTextBlockObj = new ColorAnimationUsingKeyFrames();
                Storyboard.SetTargetName(colorAnimationUsingKeyFramesTextBlockObj, textBlockName);
                Storyboard.SetTargetProperty(
                    colorAnimationUsingKeyFramesTextBlockObj, new PropertyPath("(TextElement.Background).(SolidColorBrush.Color)"));
                colorAnimationUsingKeyFramesTextBlockObj.KeyFrames.Add(easingColorKeyFrameTextBlockObj);


                Storyboard storyboard = new Storyboard();

                storyboard.Children.Add(colorAnimationUsingKeyFramesEllipseObj);
                storyboard.Children.Add(colorAnimationUsingKeyFramesTextBlockObj);

                storyboard.Begin(this, true);
            }