WPF中如何使用後臺程式碼動態建立資料模板(DataTemplate)

zhaotianff發表於2024-08-22

資料模板回顧

在WPF中資料模板可以控制資料的呈現方式。

對於一些簡單的資料,例如一個string,一個int,在顯示時,無須額外控制 。

但是對於複雜資料型別,就需要使用資料模板來控制資料的呈現方式。

一個很簡單的例子

假設 我們定義了一個學生類

1     public class Student
2     {
3         public int Id { get; set; }
4 
5         public string Name { get; set; }
6     }

然後定義了一個學生列表,並繫結到ListBox

1   var list = new List<Student>();
2   list.Add(new Student() {Id = 1,Name = "意在" });
3   list.Add(new Student() { Id = 2, Name = "奎文" });
4 
5   this.list1.ItemsSource = list;

在未使用資料模板前,顯示的效果如下:

1  <ListBox Name="list1"></ListBox>

使用了資料模板,顯示效果如下:

 1     <ListBox Name="list2" Grid.Row="1">
 2         <ListBox.ItemTemplate>
 3             <DataTemplate>
 4                 <WrapPanel>
 5                     <Label Content="{Binding Id}" FontWeight="Bold" FontSize="20"></Label>
 6                     <Label Content="{Binding Name}" FontFamily="Arial"></Label>
 7                 </WrapPanel>
 8             </DataTemplate>
 9         </ListBox.ItemTemplate>
10     </ListBox>

如何動態建立資料模板

相關文章