Я уже давно использую WPF и довольно привык ко многим (довольно пугающим для непосвященных) функциям: XAML, Binding, Templates, Trigger и т. Д. Но я просто не могу показатьсячтобы полностью понять систему событий.С самого начала у меня на нервах было то, что события, которые называются «измененными» событиями (т.е. ListBox.SelectionChanged или TextBox.TextChanged), запускаются ДО изменения свойства, на которое они ссылаются
99% времени я просто хочу ответить на событие ввода пользователя и посмотреть, каково новое значение.Очень редко мне действительно нужно отвечать перед обновлением элемента управления, чтобы отменить изменение или сохранить предыдущее значение или что-то еще.
Нет смысла называть эти события «измененными» событиями, когда изменение еще не произошло полностью, оно все еще происходит.По крайней мере, для меня было бы гораздо разумнее называть эти события «изменяющимися» событиями, а затем «измененное» событие срабатывало после того, как все было обновлено.
Да, я знаю, что могу использовать аргументы события, чтобы определить, каким будет новое значение, но это невероятно раздражает и обычно требует большого количества приведения.
Слишком много, чтобы спрашивать, когдаэтот код запускает:
void myTextBox_TextChanged(object sender, TextChangedEventArgs e)
{
DoSomething(myTextBox.Text);
}
, что myTextBox.Text имеет значение NEW свойства text.Я просто сумасшедший?или я что-то упустил?