Я успешно связал элемент управления с собственностью на моей странице. Свойство, которое я связываю, возвращает класс. Связывание работает, но если я устанавливаю свойство как новый экземпляр класса, пользовательский интерфейс не обновляется.WPF - Databinding Issue
Может ли кто-нибудь указать в правильном направлении, чтобы решить эту проблему, я попытался реализовать INotifyPropertyChanged, но это не сработает.
Кодекс выглядит следующим образом ..
XAML - Очень Basic просто пытается связать метку к свойству в минуту.
<Grid>
<Label Content="{Binding StudentName}"></Label>
<Button Width="100" Height="75" Click="Button_Click" ></Button>
</Grid>
C#
this.DataContext = parentWindow.SelectedStudent;
C# примечание родительского окно родительского окна реализует INotifyPropertyChanged
public event PropertyChangedEventHandler PropertyChanged;
public UCStudent SelectedStudent
{
get
{
if (_selectedStudent == null)
{
_selectedStudent = new UCStudent();
}
return _selectedStudent;
}
set
{
if (_selectedStudent != value)
{
_selectedStudent = value;
OnPropertyChanged("SelectedStudent");
}
}
}
protected void OnPropertyChanged(string name)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(name));
}
}
Вопрос в том, когда я установить свойство SelectedStudent быть новым выбранным студентом связывание не Обновить.
разместить код вашего ViewModel и соответствующий код XAML ... –
Вы, вероятно, следует размещать вашу реализацию INotifyPropertyChanged, потому что вам нужно, что для того, чтобы это работало. Когда ваш сеттер изменяется, вам нужно запустить событие PropertyChanged. Вы это делаете? –
Нет никакой связи между кодом и отправленным вами XAML. Что такое тест? Для изменения пользовательского интерфейса INotifyPropertyChanged требуется изменить свойство. – evanb