【发布时间】:2011-04-19 15:51:59
【问题描述】:
我有一个控制数据模板。它背后的视图模型有一个属性 IsReadyForUse。当此属性为 false 时,我想要在控件上进行半透明覆盖。此覆盖必须防止用户编辑控件上的任何项目。一旦属性返回 True,覆盖应该消失。
如果有人能指出我正确的方向,我可以从那里弄清楚,但我现在有点卡住了。我知道如何使用模板数据触发器,但不知道该触发器做什么:)
提前致谢!
【问题讨论】:
我有一个控制数据模板。它背后的视图模型有一个属性 IsReadyForUse。当此属性为 false 时,我想要在控件上进行半透明覆盖。此覆盖必须防止用户编辑控件上的任何项目。一旦属性返回 True,覆盖应该消失。
如果有人能指出我正确的方向,我可以从那里弄清楚,但我现在有点卡住了。我知道如何使用模板数据触发器,但不知道该触发器做什么:)
提前致谢!
【问题讨论】:
您可以创建叠加层,并使用 BooleanToVisibility 转换器将其 Visibility 属性绑定到 ViewModel 的 IsReadyForUse 属性(确保实现 INotifyPropertyChanged)。您还可以将控件的 IsEnabled 属性绑定到 ViewModel 中的相同属性。
【讨论】: