Я разработал приложение WPF, в котором имеется панель стека с четырьмя кнопками, которая действует как навигационная система. Кнопки соответствуют окну. Например, о, обновить, переименовать и выйти. Поэтому, когда мое приложение загружается, AboutWindow
открывается. пользователь может выбрать любую кнопку, и приложение покажет это окно и закроет текущее окно.
XAML - AboutWindow.xaml
<StackPanel>
<Button Name="AboutBtn" Click="AboutBtnNavigate">About</Button>
<Button Name="UpdateBtn" Click="UpdateBtnNavigate">About</Button>
<Button Name="RenameBtn" Click="RenameBtnNavigate">About</Button>
<Button Name="ExitBtn" Click="ExitBtnNavigate">About</Button>
</StackPanel>
C# - AboutWindow.xaml.cs (класс AboutWindow)
private void AboutBtnNavigate(object sender, RoutedEventArgs e)
{
this.Show()
}
private void UpdateBtnNavigate(object sender, RoutedEventArgs e)
{
UpdateWindow updateWindow = new UpdateWindow();
updateWindow.Show();
this.Close();
}
private void RenameBtnNavigate(object sender, RoutedEventArgs e)
{
RenameWindow renameWindow = new RenameWindow();
renameWindow .Show();
this.Close();
}
private void ExitBtnNavigate(object sender, RoutedEventArgs e)
{
ExitWindow exitWindow = new ExitWindow ();
exitWindow .ShowDialog();
}
Так что в настоящее время эти обработчики событий находятся в классе AboutWindow
, но мне нужно будет использовать те же методы в другом месте, например, в UpdateWindow
классе и RenameWindow
классе. Есть ли возможность повторно использовать эти методы без необходимости переписывать код, имея в виду, что код для каждого метода будет немного меняться в зависимости от класса, в котором они находятся. Например. если используется в UpdateWindow
, UpdateBtnNavigate
будет на самом деле просто Show();
.
По сути, я спрашиваю, как лучше всего использовать OOP для ограничения количества повторяющегося кода в этой ситуации. Надеюсь, это имеет смысл. Заранее спасибо!