基于属性忽略/忽略集合中的项目

时间:2014-03-07 16:50:23

标签: c# silverlight xaml listbox silverlight-5.0

所以我正在做的是我有一个与几个不同元素交互的集合。一个人依赖所有项目而另一个人不需要所有项目。作为示例,元素A需要所有项目,但其中一些项目带有{x:Null} DisplayName,因此我尝试在元素B中使用它来将其列为{{1中的项目列表喜欢;

ListBox

这当然只是设置了<ListBox.ItemTemplate> <DataTemplate> <StackPanel Visibility="{Binding DisplayName, Converter={StaticResource nullVisConv}}"> ..... </StackPanel> </ListBox.ItemTemplate> 的父级的可见性,所以如果它是Null,那么Visibility =“Collapsed”对吗?

问题是,它仍然作为项生成但不显示内容,因此您最终会在列表框上找到一个空白项目,它仍会响应像MouseOver这样的内容并占用空间。显然不是最好的路线,所以我希望在这里接受教育。

如果项目等于{x:Null},我们如何根据属性DataTemplate完全忽略和忽略项目?这很方便。

1 个答案:

答案 0 :(得分:1)

我认为你不能用DataTemplate上的绑定来做到这一点。我认为您需要在集合绑定到ListBox的{​​{1}}属性之前过滤/修改集合。