LYT-WPF-MVVM框架中的INotifyPropertyChanged
参考文档:WPF MVVM框架中的INotifyPropertyChanged - 知乎 (zhihu.com)
INotifyPropertyChanged 接口用于通知视图或 ViewModel 绑定哪个属性无关紧要;它已更新。
让我们举个例子来理解这个接口。以一个 WPF 窗口为例,其中共有三个字段:名字、姓氏和全名。在这里,名字和姓氏文本框是可编辑的。因此,根据名字和姓氏的变化,我们必须自动更新全名。
使窗户设计图

WPF 窗口的 XAML 代码如下
<Window x:Class="MVVM_INotifyPropertyChanged.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow"> <Grid Width="400" Height="Auto" HorizontalAlignment="Center" VerticalAlignment="Stretch" Margin="20"> <Grid.RowDefinitions> <RowDefinition Height="40" /> <RowDefinition Height="40" /> <RowDefinition Height="40" /> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="90" /> <ColumnDefinition/> </Grid.ColumnDefinitions> <Label Grid.Row="0" Grid.Column="0" Content="First Name : "></Label> <Label Grid.Row="1" Grid.Column="0" Content="Last Name : "></Label> <Label Grid.Row="2" Grid.Column="0" Content="Full Name : "></Label> <TextBox Grid.Row="0" Grid.Column="1"></TextBox> <TextBox Grid.Row="1" Grid.Column="1"></TextBox> <TextBox Grid.Row="2" Grid.Column="1"></TextBox> </Grid> </Window>
现在,我们创建一个模型,它包含一个类调用人,它有3个属性“FirstName”,“LastName”,“FullName”。
public class Person { private string _fisrtname; public string FirstName { get { return _fisrtname; } set { _fisrtname = value; } } private string _lastname; public string LastName { get { return _lastname; } set { _lastname = value; } } private string _fullname; public string FullName { get { return _fisrtname +" "+_lastname; ; } set { _fullname = value; } } public Person() { _fisrtname = "Nirav"; _lastname = "Daraniya"; } }
posted on 2023-06-01 12:13 Violin_Huang 阅读(22) 评论(0) 收藏 举报
浙公网安备 33010602011771号