WPF TextBox lostfocus как прикрепленное свойство - PullRequest
3 голосов
/ 23 июня 2010

У меня есть Grid со многими TextBox, и я хочу вызвать NotifyPropertyChanged() метод для обновления некоторых других элементов управления каждый раз, когда один из этих TextBox-ов изменял значение = потерял фокус ( Я не хочу использовать PropertyChanged как UpdateSourceTrigger)

Вот что я могу сделать:

<Grid TextBoxBase.TextChanged="My_TextChanged"  >
...
</Grid>

Мне нужно что-то вроде:

TextBoxBase.OnLostFocus

Ответы [ 2 ]

0 голосов
/ 09 июля 2010

Использовать событие потерянного фокуса

TextBox.LostFocus="OnTextBoxLostFocus"

Фильтр по текстовым полям;)

private void OnTextBoxLostFocus(object sender, RoutedEventArgs e)
{
    if(!(e.OriginalSource is TextBox))
        return;

    //Do stuff
}

Если ваши свойства не изменились, ваши текстовые поля не будут обновлены.Вы должны рассмотреть возможность изменения данных, с которыми связаны другие TextBox, вместо использования LostFocus для обновления вашей модели.

Удачи!

0 голосов
/ 23 июня 2010

TextBoxBase.LostFocus это, я подозреваю, событие, которое вы ищете.

Это указано здесь: http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.textboxbase_events.aspx - но оно определено в UIElement - поэтому вы можете попробовать UIElement.LostFocus, если вышеприведенное не работает в разметке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...