0

我如何实现以下目标:

    <ComboBox 
 IsEnabled="{Binding bVisibilty = AnotherCollection.Count > 0 ? true:false}"/>

我可以使用将计数转换为布尔值的转换器,但是有没有比到处过度使用转换器更好的方法。

4

2 回答 2

3

您可以像这样使用样式触发器:

  <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

于 2013-06-04T17:58:41.560 回答
2

您可以绑定到 ViewModel 上的属性并将布尔值和 INPC 逻辑放在视图模型中

于 2013-06-04T17:47:12.247 回答