我如何实现以下目标:
<ComboBox
IsEnabled="{Binding bVisibilty = AnotherCollection.Count > 0 ? true:false}"/>
我可以使用将计数转换为 bool 值的转换器,但是有没有比到处过度使用转换器更好的方法。
最佳答案
您可以像这样使用样式触发器:
<ComboBox >
<ComboBox.Style>
<Style TargetType="ComboBox">
<Style.Triggers>
<DataTrigger Binding="{Binding AnotherCollection.Count}" Value="0">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ComboBox.Style>
</ComboBox>
显然,AnotherCollection 需要是 ObservableCollection,因此每次将项目添加\删除时都会通知 UI
关于c# - 不使用转换器的条件绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16924196/