繁体   English   中英

不使用转换器的条件绑定

[英]Conditional Binding Without using Converter

如何实现以下目标:

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

我可以使用将count转换为boolen的转换器,但是有比在各处过度使用转换器更好的方法了。

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

  <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。

您可以在ViewModel上绑定到Property并将布尔值和INPC逻辑放入viewModel中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM