[英]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.