[英]Updating ComboBox Source Doesn't Update ComboBox
我有一个ComboBox,其ItemSource绑定到名为PersonsList的Person类型的ObservableCollection。 此组合框上的DisplayMemberPath设置为FullName(它仅返回名字+姓氏)
人员中存储着各种东西,例如名字,姓氏,电话号码,地址等。
现在,当我更新PersonsList中的一个人时,我将更新相应的数据字段并调用OnPropertyChanged(“ PersonsList”)。 现在,当我返回查看该ComboBox时,就会发生我的问题。 如果我已经更新了一个人的名字或姓氏,那么这里不会更新。 但是,当我单击应该更新的人时,它会正确显示新更新的名字。
这是两张图片,以了解我的意思: https : //imgur.com/a/fP6apoX
最后,这是我的XAML代码:
ComboBox ItemsSource="{Binding PersonsList, UpdateSourceTrigger=PropertyChanged}"
DisplayMemberPath="FullName"/>
您需要按如下所示修改您的Person类,因为用View映射的属性属于Person类,因此该属性更改事件需要由Person类触发
public class Person : INotifyPropertyChanged
{
/// <summary>
/// Property Changed Event Handler
/// </summary>
public event PropertyChangedEventHandler PropertyChanged;
// Create the OnPropertyChanged method to raise the event
protected void OnPropertyChanged(string name)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(name));
}
}
private String _FirstName;
public String FirstName {
get {
return _FirstName;
}
set {
_FirstName = value;
OnPropertyChanged(nameof(FirstName));
}
}
private String _LastName;
public String LastName
{
get
{
return _LastName;
}
set
{
_LastName = value;
OnPropertyChanged(nameof(LastName));
}
}
private String _FullName;
public String FullName
{
get
{
return _FullName;
}
set
{
_FullName = value;
OnPropertyChanged(nameof(FullName));
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.