【发布时间】:2019-04-01 21:00:49
【问题描述】:
我做了小的自定义 ItemsControl 以将一些列表显示为项目行。而且效果几乎完美。
<ItemsControl.ItemTemplate>
<DataTemplate>
<WrapPanel Orientation="Horizontal">
<TextBlock x:Name="delimiter" Text=";" Margin="0 0 5 0"/>
<TextBlock Text="{Binding LinkId}" />
</WrapPanel>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource PreviousData}}" Value="{x:Null}">
<Setter Property="Visibility" TargetName="delimiter" Value="Collapsed"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</ItemsControl.ItemTemplate>
我的问题在于定界符:当 ItemsConteol 换行到下一行时,定界符字符会从下一行开始。
我知道问题出在哪里,但我不知道如何解决。
感谢您的建议。
【问题讨论】:
-
您实际上可以使用来自here 的基于 AlternationCount 的解决方案(但您需要定位最后一项,而不是第一项)
-
@Vlad,谢谢。不幸的是,这种方法laso不适用于我:第一个和第二个元素之间没有分隔符。但我决定完全避免使用触发器,在最后一个元素之后的任务分隔符中并不是一个关键问题。