所以我正在做的是我有一个与几个不同元素交互的集合。一个人依赖所有项目而另一个人不需要所有项目。作为示例,元素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
完全忽略和忽略项目?这很方便。
答案 0 :(得分:1)
我认为你不能用DataTemplate
上的绑定来做到这一点。我认为您需要在集合绑定到ListBox
的{{1}}属性之前过滤/修改集合。