У меня есть следующий в моем XAML:WPF TwoWay не работает на X (выход), но работает на TAB или нажав другие
<TextBox Name="TitleValue"
Text="{Binding ElementName=ListValue, Path=SelectedItem.Title, Mode=TwoWay}"
<TextBox Name="DescValue"
Text="{Binding ElementName=ListValue,
Path=SelectedItem.Description, Mode=TwoWay}"
Когда я ввести значение в любом TitleValue или DescValue и Tab или нажмите на различное расположение в окне, свойства класса коллекции обновляются правильно. Затем, когда я нажимаю X для выхода из окна, данные в классе коллекции сохраняются правильно.
Однако, когда я ввожу значение в любом из этих полей, затем нажмите X, чтобы выйти из окна, данные в классе коллекции сохранены, но введенное значение не сохраняется для этого конкретного поля, которое я редактировал, когда я щелкнули X.
Я реализовал событие потерять фокусировку на полях, и они работают, даже когда щелкнул X. В этих случаях я поставил код:
private void Event_DescValue_LoseFocus(object sender, RoutedEventArgs e)
{
((Import)ListValue.SelectedItem).Description = ((TextBox)e.OriginalSource).Text;
}
Но это тоже не сработало. следующий не работает либо:
Imports[ListValue.SelectedIndex].Description = ((TextBox)e.OriginalSource).Text;
Как получить Импорт коллекции класса для обновления выбранного класса импорта, когда X нажат, когда в поле редактируется?
Он должен работать точно так же, как у меня есть вкладка с редактируемого поля или щелчка в другом месте в окне.
Определение "данные в класс коллекции сохраняется". Где вы сохраняете эти данные? – Paparazzi
Попробуйте добавить 'UpdateSourceTrigger = PropertyChanged' к вашим привязкам. –