WPF - MVVM - ComboBox SelectedItem
mamViewModel
(wdrożoneINotifyPropertyChanged
) w tle i klasieCategory
który ma tylko jedną właściwość typustring
. Mój ComboBox SelectedItem jest powiązany z instancją kategorii. Kiedy zmieniam wartość instancji, SelectedItem nie jest aktualizowany i Combobox nie jest zmieniany.
EDYCJA: kod
Combobox:
<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}"/>
Własność:
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;
}
a to, co próbuję, to: kiedy ustawiam
NodeCategory = some_list_of_other_objects.Category;
aby wybrać ten elementCombobox
z odpowiednimDisplayMemberPath