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"; } }
分类:
LYT / LYT-WPF
标签:
WPF
posted on 2023-06-01 12:13 Violin_Huang 阅读(16) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)