[英]Data binding to a collection with different behavior for the last element
這似乎是一個常見的問題,但我的Google-Fu讓我空洞無息。 如果以前曾被問過一千次,我會道歉!
我有一個集合,比如ObservableCollection<Athlete>
。 我想在屏幕上顯示該集合,使其看起來像:
[澤西島照片] | [澤西島照片] | [澤西島照片] | [澤西圖片]
這個人為設想的例子中的關鍵是每張照片之間的小條。 減去該條,它只是一個綁定到集合的ListBox
,其中ItemsPanelTemplate
為水平StackPanel
,然后是ItemTemplate
以顯示每個項目的相應澤西圖片。 沒問題!
那么問題是,除了集合中的最后一個元素之外,如何追加可能是任何圖形元素的條形圖?
謝謝!
正如@KornMuffin鏈接中所建議的那樣,您可以將欄放在ListBox項的左側:
| [澤西島照片] | [澤西島照片] | [澤西島照片] | [澤西圖片]
然后使用帶有{RelativeSource PreviousData}
綁定的DataTrigger
,如果以前的數據為空,則隱藏第一個條。 例如,假設我使用Separator
來顯示條形圖,我可以將此樣式添加到分隔符控件以隱藏第一個分隔符:
<Separator.Style>
<Style TargetType="Separator">
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource PreviousData}}" Value="{x:Null}">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Separator.Style>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.