使用故事板的Animate属性

时间:2012-05-15 22:02:19

标签: c# wpf xaml storyboard

我知道有几个例子说明如何在故事板包含目标时为其设置动画。例如,动画按钮的宽度或矩形的颜色。

我想用故事板为一个属性设置动画,并且该属性恰好与其他东西捆绑在一起。结果我有类似的东西:

XAML:

<Window.Resources>
    <Storyboard x:Key="sbVolume">
        <DoubleAnimation Storyboard.TargetProperty="{Binding SbVolumeValue}" To="40">           
        </DoubleAnimation>
    </Storyboard>

代码落后:(我还实现了INotifyPropertyChanged)

    double _SbVolumeValue;
    public double SbVolumeValue
    {
        get
        {
            return _SbVolumeValue;
        }
        set
        {
            _SbVolumeValue = value;
            OnPropertyChanged("SbVolumeValue");
        }
    }

当我为该故事板设置动画时,会获得异常:

  
    

没有为'System.Windows.Media.Animation.DoubleAnimation'指定目标。

  

我不想为目标设置动画我只想为我的属性设置动画。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

对于您遇到的TargetName错误,您应该向我们展示实际应用故事板的XAML代码...

同时我确信

    Storyboard.TargetProperty="{Binding SbVolumeValue}" 

...不是有效的代码!这应该通过Binding指定目标依赖项属性的名称和非绑定值

就像......

    Storyboard.TargetProperty="Width" 

... 是正确的,但类似......

    Storyboard.TargetProperty="EmployeeName" 

... 不正确,好像它不是依赖属性。

我希望我很清楚!