У меня есть ViewModel
(реализованный INotifyPropertyChanged
) в фоновом режиме и класс Category
, который имеет только одно свойство типа string
. My ComboBox SelectedItem связывается с экземпляром категории. Когда я изменяю значение экземпляра, SelectedItem не обновляется, а Combobox не изменяется.
EDIT: код
выпадающий:
<ComboBox x:Name="categoryComboBox" Grid.Column="1" Grid.Row="3" Grid.ColumnSpan="2"
Margin="10" ItemsSource="{Binding Categories}"
DisplayMemberPath="Name" SelectedValue="{Binding NodeCategory, Mode=TwoWay}"/>
Свойство:
private Category _NodeCategory;
public Category NodeCategory
{
get
{
return _NodeCategory;
}
set
{
_NodeCategory = value;
OnPropertyChanged("NodeCategory");
}
}
[Serializable]
public class Category : INotifyPropertyChanged
{
private string _Name;
[XmlAttribute("Name")]
public string Name
{
get
{
return _Name;
}
set
{
_Name = value;
OnPropertyChanged("Name");
}
}
public void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
[field:NonSerialized]
public event PropertyChangedEventHandler PropertyChanged;
}
и я пытаюсь: когда я устанавливаю
NodeCategory = some_list_of_other_objects.Category;
чтобы этот элемент был выбран в Combobox
с соответствующим DisplayMemberPath