Próbuję powiązać dwa ListBox
es:ListBox nie odświeżać po własności zmieniło
<ListBox SelectionChanged="lbApplications_SelectionChanged"
ItemsSource="{Binding Path=Applications,
UpdateSourceTrigger=PropertyChanged, Mode=OneWay}" />
<ListBox DisplayMemberPath="Message"
ItemsSource="{Binding Path=Events,
UpdateSourceTrigger=PropertyChanged, Mode=OneWay}" />
Applications
i Events
właściwości publicznych w Window
klasie.
ustawić DataContext
do this
do obu pól listy i wdrożyć INotifyPropertyChanged
w Window
Klasa:
private void NotifyPropertyChanged(string info)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
A potem po dodaniu nowego elementu do Applications
lub Events
wzywam:
NotifyPropertyChanged("Events");
NotifyPropertyChanged("Applications");
Problem jest ten ListBox
jest ładowany tylko jeden raz. Co ja robię źle?
Dzięki. Działa, ale tylko musst należy ustawić listbox datacontext = this lub ElementName = okno w {Binding}. –
Dobra uwaga. Zaktualizowałem odpowiedź. – exclsr
Nie trzeba tworzyć powiązanej kolekcji z właściwością zależności - o ile jest to ObservableCollection i typ w narzędziach kolekcji INotifyPropertyChanged – flobadob