Обновить / обновить 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 для класса лица, это работает.