Подскажите, как избежать дублирования кода на формах, если логика заполнения и обработки данных типовая, отличаются только передаваемые типы? Например, обработка двойного клика в DataGrid типовая, отличие в самом элементе с которым работаем (Задумка: можно передавать сам объект в метод) и тип данных, которые обрабатываем:
private void DoubleClickRow(object sender, RoutedEventArgs e)
{
if (dgStagesView.SelectedItem != null && dgStagesView.SelectedItem is View_BalanceStage)//Тут соответственно указываем элемент на форме
{
Win_DetailsOfStage stagesForm = new Win_DetailsOfStage((View_BalanceStage)dgStagesView.SelectedItem); //Тут изменяется тип формы, с которой мы будем работать
if (stagesForm != null && stagesForm.ShowDialog() == true)
{
FillDataGrid();//обновление данных
}
}
}
и
private void DoubleClickRow(object sender, RoutedEventArgs e)
{
if (dgExecutorsView.SelectedItem != null && dgExecutorsView.SelectedItem is View_ExecutorsOfStages)
{
Win_Executors executorsForm = new Win_Executors((View_ExecutorsOfStages)dgExecutorsView.SelectedItem);
if (executorsForm != null && executorsForm.ShowDialog() == true)
{
FillDataGrid();
}
}
}
Также есть аналогичные/схожие куски кода по обработке нажатий на кнопки/элементы. Буду очень признательна если поможете разобраться как оптимизировать код, например, подскажите название паттерна или пример как подойти к реализации MVVM.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости