2011-01-07 30 views
5

是否有通用的XAML樣式或模板技術來呈現項目的數據綁定列表作爲屏幕上的分隔列表?在XAML中呈現分隔列表?

想象一下,在XAML中輸出類似於函數調用聲明的東西:foo(a,b,c)其中「a」,「b」和「c」來自數據綁定列表。 (「foo」也是數據綁定,但不包含參數列表)

「a」,「b」和「c」元素需要保留XAML UI元素,以便它們可以在XAML中進行UI交互和樣式化。 (所以我認爲這不符合簡單字符串連接的解決方案)

臨界點是而不是在列表末尾有一個虛假的尾隨逗號。

這與的問題有些相關,如何對列表中的第一個和/或最後一個元素進行不同於中間元素的設計。我在這裏看到了stackoverflow的建議,在ItemsControl中使用ItemsTemplateSelector來測試項目是列表中的第一個還是最後一個,並返回相應的模板,但問題是DataTemplateSelector.SelectTemplate無法訪問列表中的物品來自。你可以將一個特定列表的肉體知識作爲一次性的混亂,但你如何以一種通用的,可重用的方式來做到這一點?

回答

3

在WPF中,您可以使用相對源PreviousData的綁定。如果先前的數據爲空,則知道它是列表中的第一項,因此不需要預先分隔。

唉,Silverlight不支持這一點,我無法找到一個很好的解決方法,當我有完全相同的要求。我最終設置了一個邊緣,以至於尾隨的逗號永遠不可見。

+0

BTW:當使用ObservableCollection .Move(int,int)重新排序項目時,PreviousData綁定不會更新。 – springy76 2012-04-26 10:50:03