当前位置: 首页 > 编程语言 > C#

WPF数据绑定改变对象分享

时间:2023-04-11 01:04:23 C#

WPF数据绑定改变对象我有一个用户控件,显示当前登录的用户名。我已将控件中的TextBlock绑定到应用程序中用户对象的UserId属性。我遇到的问题是,每次新用户登录时,我绑定的用户对象都会作为更改源。我可以想到一个解决方案,当用户对象发生变化时触发一个事件,然后通过控件抓住我,然后重新初始化绑定,但这似乎并不理想。这个问题有解决办法吗,我感觉应该是普遍的吧?干杯,James大多数UI绑定已经通过属性通知处理了这个问题,尤其是(对于WPF)INotifyPropertyChanged。-即,如果您想在单个实例上更新UserId:classUser:INotifyPropertyChanged{publiceventPropertyChangedEventHandlerPropertyChanged;protectedvirtualvoidOnPropertyChanged(stringpropertyName){PropertyChangedEventHandlerhandler=PropertyChanged;if(handler!=NametyArtyChangedsnewPropertyChangedhandler(this,EnewProperty));}私有字符串用户名;publicstringUserId{get{returnuserId;}set{if(userId!=value){userId=value;OnPropertyChanged("用户名");}}}}然后绑定应该自动更新。相反,如果您要更改实际的用户实例,则考虑相同的技巧,但对于用户的任何主机:publicUserUser{get{returnuser;}set{if(user!=value){user=value;OnPropertyChanged("用户");如果您将“User.UserId”绑定到某物,它应该可以工作。以上就是C#学习教程:WPF数据绑定改变对象分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: