【发布时间】:2012-01-16 17:03:33
【问题描述】:
我有一个 MyBool 类的实例,其属性为 IsTrue,存储为 StaticResource。而且我还有一个 CheckBox,其 IsChecked 属性绑定到类的实例。
{Binding IsTrue, Mode=TwoWay, Source={StaticResource MyBoolInstance}}
它工作正常。如果我更改 CheckBox 上的 check 属性,MyBool 的实例也会更新,反之亦然。
但是,如果我 通过 StoryBoard
操作 CheckBox 的 IsChecked 属性<Storyboard x:Key="ColourToggle">
<ObjectAnimationUsingKeyFrames
Storyboard.TargetProperty="IsChecked"
Storyboard.TargetName="ThisCheckBox">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<System:Boolean>True</System:Boolean>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
MyBool 实例的属性IsTrue 没有更新!
有什么建议或解决方法吗?
【问题讨论】:
-
但是
ThisCheckBox.IsChecked属性确实发生了变化?您实际上想通过使用Storyboard来实现什么? -
是的。我的思维方式有点错误,我正在尝试使用情节提要来更改 CheckBox 的 IsChecked 属性,希望它也会更改绑定的对象。
-
如果你用动画设置
IsChecked,你会覆盖你的绑定。您应该更改绑定源,而不是 CheckBox 本身。 -
我现在明白了:D 你如何更新 XAML 中的绑定源?
标签: c# wpf binding storyboard