WPF MVVM入门系列教程(四、数据绑定演示)
在前面的文章中,介绍了数据绑定功能及使用方法。
本文会使用一些数据绑定的实例来进行演示。演示过程中,涉及了数据模板功能,如果对数据模板功能还不熟悉,可以参考下面的链接:
在WPF MVVM模式开发时,很多应用场景都是展示数据,而数据绑定对于数据呈现是非常重要的。
本文会循序渐进来演示数据绑定功能。最后一个示例会包含数据绑定中的大部分理论。
绑定复杂数据类型
在前面的示例中,我们介绍了数据绑定的基础。现在我们将前面在基础进行实践。
这里我们以书籍为模型进行演示。定义如下
1 internal class Book 2 { 3 public string Title { get; set; } 4 public string Author { get; set; } 5 public string Publish { get; set; } 6 public string Price { get; set; } 7 public string Date { get; set; } 8 public string Descrption { get; set; } 9 public string CoverImageUrl { get; set; } 10 }
我们需要将它更改为可通知类型,修改后如下:
1 /// <summary> 2 /// 这里仅作演示,正常只定义Book类型即可 3 /// </summary> 4 public class ObservableBook : INotifyPropertyChanged 5 { 6 private string title; 7 8 public string Title 9 { 10 get => title; 11 set 12 { 13 title = value; 14 RaiseChanged(); 15 } 16 } 17 18 private string author;
19 public string Author 20 { 21 get => author; 22 set 23 { 24 author = value; 25 RaiseChanged(); 26 } 27 } 28 29 ...省略... 30 31 32 public event PropertyChangedEventHandler PropertyChanged; 33 34 35 public void RaiseChanged([CallerMemberName]string memberName = "") 36 { 37 PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(memberName)); 38 } 39 }
然后我们定义一下界面,布局如下