Обновить / обновить TextBlock, который привязан к другому свойству элемента в wpf/xaml

Я хотел бы обновить текст в текстовом блоке, который привязан к свойству элемента списка. Так я связываю текстовый блок с элементом списка.

mWindow.xaml

<ListView Name="ListViewDetails"               
      ItemsSource="{Binding Persons}" 
      SelectedItem="{Binding CurrentPerson}">
      ...
</ListView> 

<TextBlock>
     <Run Text="{Binding ElementName=ListViewDetails, Path=SelectedItem.Office}"/>
     ...
</TextBlock>

Если свойство элемента в просмотре списка изменяется, текст не обновляется.

mWindow.xaml.cs

public partial class mWindow: Window , INotifyPropertyChanged 
{

            private Person currentPerson;
            public Person CurrentPerson
            {
                get
                {
                    return currentPerson;
                }
                set
                {
                    this.currentPerson = value;
                    this.NotifyPropertyChanged("CurrentPerson"); 
                }
            }

            public event PropertyChangedEventHandler PropertyChanged;
            private void NotifyPropertyChanged(string propertyName)
            {
                var handler = this.PropertyChanged;
                if (handler != null)
                {
                    handler(this, new PropertyChangedEventArgs(propertyName));
                }

            }

            private void editLisView{

            ...

            // refresh ListView
            ICollectionView view =CollectionViewSource.GetDefaultView(ListViewInsuranceDetails.ItemsSource);
            view.Refresh();
            }

}

1 ответ

Решение

Я думал, что мне нужно реализовать INotifyPropertyChanged для свойства CurrentPerson. Когда я реализую INotifyPropertyChanged для класса лица, это работает.

Другие вопросы по тегам