1. 程式人生 > >WPF中DataGrid使用自定義列繫結資料

WPF中DataGrid使用自定義列繫結資料

本文用一個簡單的例子進行演示,顯示一個人的姓名和年齡。其中,年齡大於30歲的以紅色顯示,年齡小於20歲的以綠色顯示。功能簡單。

1、首先確定顯示的表格有幾列資料,分別顯示為什麼形式。建模時,DataGrid中的每一行代表一個物件,每一列代表一個物件中的一個屬性。本例中一共有兩列資料,姓名和年齡。先建立基本資料模型,程式碼如下。

2、確定基本資料模型之後,構思VM中的資料模型。這裡需要顯示多個人的姓名和年齡,所以VM中需要有一個Person型別的屬性和一個Person型別的集合。VM中的程式碼如下所示。

3、完成VM部分後,開始寫UI部分,並完成繫結,程式碼如下。


4、由於要顯示不同的顏色,這裡用了自定義列模板。還需要一個轉換器。程式碼如下。

本例中名稱空間為Why.WpfDemo。最後執行結果如下,


上述程式碼中年齡一列不能進行點選列頭排序,只要在該列的模板中加入SortMemberPath="Age"即可,也就是設定SortMemberPath屬性就可以了。