İki ListBox
es bağlamaya çalışıyorum:Özellik değiştikten sonra ListBox yenilenmez
<ListBox SelectionChanged="lbApplications_SelectionChanged"
ItemsSource="{Binding Path=Applications,
UpdateSourceTrigger=PropertyChanged, Mode=OneWay}" />
<ListBox DisplayMemberPath="Message"
ItemsSource="{Binding Path=Events,
UpdateSourceTrigger=PropertyChanged, Mode=OneWay}" />
Applications
ve Events
Window
sınıfındaki genel özelliklerdir.
DataContext
öğesini this
olarak her iki liste kutusuna ayarlıyorum ve Window
sınıfında INotifyPropertyChanged
uygulayın:
private void NotifyPropertyChanged(string info)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
Ve sonra Applications
veya Events
öğesine yeni öğe ekledikten sonra:
NotifyPropertyChanged("Events");
NotifyPropertyChanged("Applications");
ListBox
sadece bir kez yüklenir. Neyi yanlış yapıyorum?
Teşekkürler. Çalışır, ancak sadece musst liste kutusu datacontext = bu veya ElementName = {Binding} penceresinde ayarlanır. –
İyi nokta. Cevabı güncelledim. – exclsr
Koleksiyonunuzu bir bağımlılık özelliğine bağlı hale getirmenize gerek yok - bir ObservableCollection olduğu sürece ve koleksiyondaki tür INotifyPropertyChanged'i uygular – flobadob