我有一个带有切换按钮的控制模板。此 ToggleButton 的 IsChecked 属性以一种方式绑定到依赖属性。如果我明确设置依赖属性,则绑定有效。
问题是,在我与 UI 中的切换按钮交互后,如果我明确设置依赖属性,绑定不会更新 IsChecked 属性。
我确实有一个使用 TwoWay 绑定的工作区,效果很好。我的问题是,为什么它会这样?我错过了什么吗?Silverlight的绑定机制有bug吗?
编辑包括片段:
ControlTemplate 中的绑定看起来像(可以用 TemplateBinding 替换)
<ToggleButton x:Name="PlayPause" Grid.Column="0"
IsChecked="{Binding Paused, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}"
HorizontalAlignment="Center"
Width="50" Height="50"/>
依赖属性的显式设置是相当混乱的标准:
myComponent.Paused = true;