2010-11-23 58 views
5

我是一個有經驗的編碼人誰正在嘗試學習C#和WPF。現在,我對於細節有點堅持,我想確保我的應用程序與用戶界面的其餘部分融合在一起。但是,我似乎無法使用ListView完成此操作。我的設置很簡單 - 在我的窗口中添加一個ListView,綁定到我選擇的ObservableCollection,然後運行該應用程序。使WPF列表視圖堅持Windows主題

結果是項目彈出很好(沒有有意義的內容)。但是,ListView上的選擇矩形始終是深藍色,它使我回到XP之前的日子,而不是使用默認Windows 7視覺樣式的整潔主題選擇。要在操作中看到這種選擇,只需在資源管理器中選擇一個文件,或者在控制面板的程序和功能中查看另一個例子。這看起來不錯,光滑。

如何根據我的用戶設置讓WPF適當地主題我的ListView?我不想重新創建整個選擇代碼,並添加大量的樣式和塗鴉 - 我想要一個普通的Windows應用程序,看起來沒問題。按鈕工作正常,文本框工作正常,組合框看起來很好,等等。它只是ListView,看起來完全廢話。

編輯:我使用沒有問題,另一個(非常非常優選不是第三方)控制如果需要的話,但我想,看起來本土項目的列表和我的做法類似Explorer中的瓷磚選擇佈局爲每個選定的項目(圖標,desc,額外的信息行)。垂直滾動只是我需要的。

回答

4

如果您使用ListView並將ListView.View設置爲GridView,那麼您將獲得與Windows 7資源管理器非常相似的外觀。 (至少在我看來,還是這是你談論的外觀?)。它也遵循活動主題

示例1.帶有GridView的ListView位於右側。選擇活性

alt text

實施例2的ListView與GridView的右側。選擇不活動

alt text

例3使用高對比度主題#2

alt text

+1

哦,神聖的牛,所以_that_是的伎倆。我一直在尋找這樣的效果。我唯一不喜歡的是,關於顏色的東西是關閉的 - WPF品種似乎已經與伽馬或飽和度或類似的東西變得瘋狂了。更亮澤?我不知道該怎麼稱呼它;你可以在你的例子中看到它。發生瞭解該問題的解決辦法? (我的目標仍然是儘可能地原生態。) – Stigma 2010-11-23 22:31:09