Вынести события кнопок и полей в отдельный файл WPF

Рейтинг: 0Ответов: 1Опубликовано: 10.01.2023

У меня в приложении имеется много текстбоксов и кнопок. На каждый текстбокс по одному событию. Снизу предоставляю пример. Таких событий около 30. Хочется вынести эти события в отдельный файл, чтобы не засорять основной файл формы.

private void AuthorBook_TextBox_TextChanged(object sender, TextChangedEventArgs e)
{
    AuthorBook_TextBox.Foreground = Brushes.Black;
    AuthorBook_TextBox.ToolTip = null;
}

Ответы

▲ 3Принят

Учить MVVM, привязки данных (Binding) и команды (ICommand). В WPF обработчиками событий в таких случаях никто не пользуется.

С другой стороны, возможно проблема в том, что вы не в курсе, что такое sender. А это по сути текстбокс, вызвавший событие.

Заведите такой обработчик.

private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
{
    TextBox tbx = (TextBox)sender;
    tbx.Foreground = Brushes.Black;
    tbx.ToolTip = null;
}

Теперь всем текстбоксам в XAML назначаете этот обработчик. А дубликаты методов спокойно удаляете. Но опять же, лучше воспользоваться советом из самого начала этого ответа.