我问了 binding to a control并了解到我可以绑定(bind)到 ElementName .所以我做了。但是,我注意到我需要恢复被选中的值。有没有办法在没有转换器的情况下做到这一点?
<DatePicker Name="EndDate"
Text="{Binding Path=EndDate}"
IsEnabled="{Binding ElementName=NoEnd,Path=IsChecked}" />
<CheckBox Name="NoEndDate"
Checked="Checked"
Unchecked="Unchecked" />
我希望在 NoEndDate 的路径为 false 时启用,反之亦然。
最佳答案
您可以将自定义样式与 DataTrigger
一起使用。这实现了你想要的,但是使用转换器不是更容易吗?
<DatePicker Name="EndDate" Text="{Binding Path=EndDate}">
<DatePicker.Style>
<Style TargetType="{x:Type DatePicker}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=NoEndDate, Path=IsChecked}" Value="True">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DatePicker.Style>
</DatePicker>
<CheckBox Name="NoEndDate"/>
关于c# - 是否有必要为简单的 true/false 操作创建一个转换器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33550068/