如何申请作为故事板样式 [英] How to Apply Storyboard as Style

查看:171
本文介绍了如何申请作为故事板样式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想申请一个故事板我的长方形 填写是这样的:

I want to apply a Storyboard to my Rectangle Fill like this:

<Rectangle Name="MyRectangle"
  Width="100"
  Height="100">
  <Rectangle.Fill>
    <SolidColorBrush x:Name="MySolidColorBrush" Color="Blue" />
  </Rectangle.Fill>
  <Rectangle.Triggers>
    <EventTrigger RoutedEvent="Rectangle.MouseEnter">
      <BeginStoryboard>
        <Storyboard>
          <ColorAnimation 
            Storyboard.TargetName="MySolidColorBrush"
            Storyboard.TargetProperty="Color"
            From="Blue" To="Red" Duration="0:0:1" />  
        </Storyboard>
      </BeginStoryboard>
    </EventTrigger>
  </Rectangle.Triggers>
</Rectangle> 



但我想插入故事板中一个风格,我想这样的:

But I want to insert the Storyboard in a Style, i tried this:

<Style xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
   xmlns:s="clr-namespace:System;assembly=mscorlib" 
   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
   TargetType="{x:Type Rectangle}">

<Style.Triggers>

    <EventTrigger RoutedEvent="Shape.Loaded">
        <BeginStoryboard>
            <Storyboard>
                <ColorAnimation 
            Storyboard.TargetName="MySolidColorBrush"
            Storyboard.TargetProperty="Color"
            From="Blue" To="Red" Duration="0:0:1" />
            </Storyboard>
        </BeginStoryboard>
    </EventTrigger>

</Style.Triggers>

<Setter Property="Shape.Fill" Value="Blue" x:Name="MySolidColorBrush"/>

</Style>



使用此代码:

Using this code:

var rect = new Rectangle();

using (FileStream stream = new FileStream("myStyle.xaml", FileMode.Open))
   rect.Style = XamlReader.Load(stream) as Style;



不过,这并不工作,并抛出一个异常。如何我不得不改变我的风格?

But it does not work and throws an exception. How I have to change my Style?

推荐答案

在你的故事板更改此

Storyboard.TargetProperty="Color" 

Storyboard.TargetProperty="Fill.Color"

和删除

Storyboard.TargetName="MySolidColorBrush"

这篇关于如何申请作为故事板样式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆