2010-05-04 22 views
1

我想有一個ListView的項目類似於Microsoft Outlook收件箱中的項目由對話安排(見附圖)。項目可以是包含會話主題的簡單文本塊(在照片上是藍線),也可以包含由ListView標題指定的電子郵件信息。如果具有對話主題的項目將是按鈕,以便通過按此按鈕可以顯示或隱藏該對話內的電子郵件,這將是最好的。如何使用WPF的ListViewItem使用兩個模板

任何想法我怎麼能做到這一點?我是否指定了兩個ListViewItem模板?如果是,我該如何在代碼中告訴每個項目使用哪個模板?

任何幫助將非常感謝! 問候, 格雷戈爾

alt text http://img401.yfrog.com/img401/1719/inboxy.png

回答

2

你應該看看DataTemplateSelector。只是谷歌它。

想法是這樣的。

  1. 您將在XAML定義模板2-3
  2. 創建DataTemplateSelector推導基於字段類/ typeof運算對象 您將返回相應的模板
+0

謝謝,這很有幫助。 – 2010-05-04 12:30:22

1

中使用的概念,你的屏幕截圖被稱爲分組。如果您有一個ListCollectionView作爲ItemsSource,則可以輕鬆使用分組。然後,您需要爲ListCollectionView的GroupDescriptions屬性指定幾個GroupDescription

要定義這些組的外觀如何,您可以查看此SO帖子:How do I group items in a WPF ListView。其他感興趣的博客文章可能是:Bea Stollnitz: How can I do custom Grouping?Bea Stollnitz: How do I sort groups of data items?

在您的方案中,您將使用電子郵件對話的標題作爲組標題,也可能使用其他一些數據。

+0

非常感謝您提供這些信息。這完全符合我的目的。謝謝!! – 2010-05-04 19:05:36