【发布时间】:2009-11-18 13:46:40
【问题描述】:
在我的场景中,我有很多按钮或其他控件,我想依赖于代码隐藏文件中的公共属性。我们称之为 IsEverythingLoaded,它是一个布尔值。
现在我想要一个像这样的按钮
<Button Click="DoTheMagic"
IsEnabled="{Binding Path=IsEverythingLoaded}">Click Me</Button>
为了让它运行,我发现我需要将它指向相对源,所以通过将它添加到我的<Window> decleration 中,我得到了启动和可视化的工作。
DataContext="{Binding RelativeSource={RelativeSource Self}}"
但是,假设我使用另一个按钮引发了一个事件,然后将 IsEverythingLoaded 设置为 true,我想每个按钮上的 IsEnabled 也会如此。因此可以再次点击,但我错了,这不是 DependencyProperties 应该如何工作的吗?
澄清..
我确实不希望将 IsEverythingLoaded 写为 DependencyProperty。我希望 Button 依赖 A CLR 属性
【问题讨论】:
-
感谢您的澄清!顺便说一句,将 DependencyProperties 用于 other 对象所依赖的属性在 MVVM 架构中非常常见,请参见,例如stackoverflow.com/questions/291518