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

显示ItemsControl.ItemsSource是否为null分享

时间:2023-04-10 18:29:16 C#

C#学习教程:显示ItemsControl.ItemsSource是否为空但是ItemsSource可以为空,当它为空时我想显示默认值。就像“绑定列表中没有项目供您选择”......我想到的一种方法是将ItemsControl.Visibility设置为Collapsed并将TextBlock.Vsibility设置为Visible,显示文本......但这将包含更多数据。如果ItemsControl.ItemsSource为空,是否可以显示默认值?如果我理解正确的话,我想你可以通过创建一个IValueConverter来解决你的问题。创建这个简单的转换器后:if(collection==null)returnVisibility.Collapsed;返回collection.OfType().Any()?Visibility.Collapsed:Visibility.Visible;}publicobjectConvertBack(objectvalue,TypetargetType,objectparameter,CultureInfoculture){thrownewNotImplementedException();您可以使用RelativeSourceBindingOverrideItemsControl模板来支持它。您不应该创建一个转换器来显示您的列表是否为空。如果您的XAML、转换器和数据源是完全独立的项目,那就更好了。MVVM不是关于松散耦合的吗?好吧,背后的代码是邪恶的。感谢您指出了这一点。我更正了源代码,它现在完全是声明性的:您可以做的一件事是,在检查ItemsControl.ItemsSource为空之后,您可以添加一个项目"Theboundlistcontainsnoitemsforyoutoselect"。我希望这能达到你的目的。以上是C#学习教程:显示ItemsControl.ItemsSource是否为null是所有分享的内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: