在我的 WPF 应用程序中,我的 Viewmodel 有一个布尔属性IsOwnerOf
和一个字符串属性Title
。如果IsOwner==false
,我想要TextBlock
显示Title
(因为如果您不是所有者,您应该无法编辑它)并且如果IsOwner==true
,我想要TextBox
显示Title
- 显然在视图中的同一位置。
我也不想在代码隐藏中做,因为我遵循 MVVM 模式。想过Style.Triggers
,但有了它们我只能影响元素的属性,而不是元素类型本身,或者我可以吗?
编辑:实际上是下面关于触发Visibility
或IsReadOnly
工作的答案,但我仍然希望看到一个概念上更好的答案!如果我更换TextBox
相应的怎么办?TextBlock
通过没有这些方便属性的元素?必须有一种比同时创建并隐藏其中一个更好的方法,这听起来不对...