问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请教WPF高手关于MVVM模式里面INotifyPropertyChanged的问题。

发布网友 发布时间:2022-07-12 17:53

我来回答

2个回答

热心网友 时间:2023-10-19 08:05

只要Model实现这个接口就可以了。我写了个demo
view层:(datacontext绑定到vm层)
<StackPanel Orientation="Horizontal">
<TextBox Width="100" Height="23" DataContext="{Binding Person1}" Text="{Binding PName}"/>
<Button Margin="20 0 " VerticalAlignment="Center" Content="click" Command="{Binding UpdateNameCommand}"/>
</StackPanel>
Model层:Person类实现INotifyPropertyChanged接口,有一个PName属性
private string pname;
public string PName
{
get { return pname; }
set
{
if (PropertyChanged != null)
{
pname = value;
PropertyChanged(this, new PropertyChangedEventArgs("PName"));
}
}
}
ViewModel层:
public class PersonViewModel
{
private Person person1;
public Person Person1
{
get { return person1; }
set
{
person1 = value;
}
}
public void UpdateName()
{
if (person1 != null)
{
person1.PName = "aaa";
}
}
public ICommand UpdateNameCommand { get; set; }
public PersonViewModel()
{
person1 = new Person();
UpdateNameCommand = new MyCommand(this);
}

public event PropertyChangedEventHandler PropertyChanged;
}
命令:
public class MyCommand : ICommand
{
public PersonViewModel vm = null;
public MyCommand(PersonViewModel vm)
{
this.vm = vm;
}
public bool CanExecute(object parameter)
{
return true;
}
public event EventHandler CanExecuteChanged
{
add { }
remove { }
}
public void Execute(object parameter)
{
vm.UpdateName();
}
}

热心网友 时间:2023-10-19 08:05

一般情况 只有 ViewModel 实现 INotifyPropertyChanged!

但你这个 需求 Model 也要实现!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
电脑lol突然很卡怎么办啊电脑玩lolfps低怎么解决 危化品仓库有什么设备 香港中文大学2021-2022在河北,重庆最低录取分数线 ChaCheer 洽洽 南瓜子 盐焗味 500g-适用对象 老闫家小粒香南瓜子-适用对象 洽洽盐焗味南瓜子-适用对象 盐焗南瓜子里有添加明矾吗 老街口盐焗味南瓜子500g*2袋量大优惠休闲零食 一天走多少步可以减肥每天走多少步可以减肥 肉炖土豆需要炖多久时间 双龙股票解禁股票时间和名单公布 蓝翡翠鸟 黄石的孩子在线观看哪里有? 老师让我们做假期小报(小学),什么好内容都行,写什么呢? 假日小报(手抄报)要写什么 福州大学机械研究生与重庆理工机械研究生哪个强? 福州大学的机械怎么样?上福大的机械研究生好就业吗? 福州大学机械研究生怎么样,哪方面强?就业如何? 福州大学机械及自动化研究生怎么样? 一物不倒立得正,春夏秋冬不弯腰。不会跳来不走路,人人尊它翁先生。在十二生肖中指哪一个动物? - 信息提示 一物不倒立得正,春夏秋冬不弯腰.不会跳来不走路,人人尊它翁先生。猜一生肖是什么呀 不会跳来不走路 人人尊它老翁先生 、、是什么生肖 一物不倒立得正,春夏秋冬不弯腰.不会跳来不走路,人人尊它翁先生。猜一生肖是什么呀? 不会跳来不走路 , 人人尊它老翁先生。是什么生肖 白胸翡翠鸟是几级保护动物 求这种鸟的详细资料 给姓杨的在2012年3月19日出生的女孩起个名字 2014年农历3月19早上10点出生的姓杨女孩起个什么名字 2014年03月19日上午十点十二出生的男孩,姓王起啥名字好啊?急求 C# WPF中设置绑定时,INotifyPropertyChanged接口如何对数组使用 WPF怎样实现数据库数据更新后实现INotifyPropertyChanged-CSDN论坛 如何优雅的实现INotifyPropertyChanged接口 翠鸟是不是国家保护动物?求解 初二以新闻形式去写开学典礼怎么写??跪求....... 速度...300字呢~~~ 初中女生适合养什么样的狗? 帮我推荐几部好看的日剧? 铜蓝鹟是国家几级保护动物? 安装了遨游浏览器后,百度怎么没有了?怎么再弄回百度? - 信息提示 为什么不能从百度手机短信提问回复的网址上网了?而其他的途径上网都是正常的。怎样才能恢复正常的状态? 百度贴吧被全吧封禁,上面显示恢复正常,可是还是不能正常发帖 关于百度贴吧目录出现异常,这种情况已有半个月了,请问:百度你什么时候能恢复正常? 百度个人空间的摸板怎样才能恢复到初始状态? 使用百度等搜索引擎,敲击回车键之后出现卡死状态,过三十秒之后恢复正常,是咋回事? 亚克力能粘在玻璃上吗 痴情的人 歌词 我想要爱的教育的读后感 我想要 《爱的教育》读后感 清朝嘉庆年间民窑的青花盘有破损还值钱吗