WPF-使用绑定将用户控件的子控件设置为只读
我有一个WPF应用程序,它有许多不同的控件。我需要能够根据视图模型中要绑定的属性将所有子控件设置为只读 我看到了几个挑战:WPF-使用绑定将用户控件的子控件设置为只读,wpf,binding,Wpf,Binding,我有一个WPF应用程序,它有许多不同的控件。我需要能够根据视图模型中要绑定的属性将所有子控件设置为只读 我看到了几个挑战: 如何确保将父控件设置为只读,同时也将子控件设置为只读 并非所有控件都具有只读属性-有些是只读的,有些只有IsEnabled属性 除了我必须为每个控件绑定适当的属性(ReadOnly、IsReadOnly等),还有人对通用解决方案有什么看法吗 有什么方法可以让我使用附属财产吗?例如,我是否可以在网格上设置一个属性,然后在代码中遍历每个子控件设置它的适当属性(如果适用) 欢迎任
David我建议使用WPF隐式样式。样式将包含到视图模型的绑定,例如:
<Style TargetType="{x:Type Button}">
<Setter Property="IsEnabled" Value="{Binding IsNotProcessing}" />
</Style>
另一种选择是创建一个具有资源键的样式,然后从每个控件引用该样式,这也很麻烦,但如果在设计时知道所有控件,则使用Blend可以相对轻松地完成(选择所有控件,然后使用“属性”窗口应用样式)
希望这将对您有所帮助。在xaml文件中使用IshitteVisible属性使真正的只读
<Grid IsHitTestVisible = "False">
//put a control
</Grid>
//控制
谢谢,我会在我的场景中解决这个问题……也许我想让事情变得比他们需要的更复杂。不,不要这样做。当IshitteVisible设置为False时(例如使用选项卡
),仍然可以访问这些控件。
<Grid IsHitTestVisible = "False">
//put a control
</Grid>