我手头有一个对象,其中包含一个
IsReadOnly
属性。如果这个属性为true,我想将一个Button的IsEnabled
属性(例如)设置为false。我本来以为可以像这样轻松地实现:IsEnabled="{Binding Path=!IsReadOnly}"
,但在WPF中行不通。难道我必须遍历所有的样式设置吗?这对于只需将一个布尔值设置为另一个布尔值的反向值来说,似乎过于冗长。<Button.Style>
<Style TargetType="{x:Type Button}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsReadOnly}" Value="True">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
<DataTrigger Binding="{Binding Path=IsReadOnly}" Value="False">
<Setter Property="IsEnabled" Value="True" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>