当前位置: 首页 > 编程语言 > C#

将控件的可见性绑定到IEnumerable的“Count”分享

时间:2023-04-10 23:38:05 C#

C#学习教程:将控件的可见性绑定到IEnumerable的“计数”我想根据此列表的计数设置控件的可见性。我试过:Visibility="{BindingMyList.Count>0?Collapsed:Visible,Mode=OneWay}"但这不起作用。我尝试将MyList.Count绑定到文本块中的文本以确保计数值正确,它做到了。它似乎没有正确设置可见性。您不能在绑定中使用逻辑或代码表达式(它需要PropertyPath)。使用转换器或触发器,这就是我要做的:(如果需要,您当然可以将样式重构为资源。)共有三种方法:使用HB通过在您的类中实现IValueConverter并将BindingConverter属性设置为此类中的IValueConverter实例,以使用转换器定义ViewModel中的属性以直接返回Visibility状态。您始终可以使用Triggers方法,它总是一个很好的方法。当您使用MVVM模式(并且您不限制自己在ViewModel中引用与UI相关的程序集)时,第三种方法很有用(也是最好的)我建议使用触发器,但如果您不希望xaml获取肮脏的标记代码使用了转换器。您应该使用转换器,将Count属性转换为Visibility值,或者可能将新的“HasItems”布尔属性转换为Visibility值。我们使用称为boolToVisibilityConvert的东西来处理这种工作。如果你愿意,我可以给你更精确的细节。以上就是C#学习教程:将控件的可见性绑定到IEnumerable的“Count”上。不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: