WPF C#で閉じる、最大化、最小化を行っています。私は2つの異なる方法を試してみましたが、どちらも私と一緒に使えるように見えましたが、このアプローチの一般的なアプローチはこのアプローチの方が良いと考えています。コマンドバインディングまたはイベントハンドラをWPFで閉じる、最小化、最大化ボタンを実装するためのより良いアプローチですか?
方法一:XAMLで :
private void CommandBinding_Executed_1(object sender, ExecutedRoutedEventArgs e)
{
SystemCommands.CloseWindow(this);
}
...
方法二:C#で
<Window.CommandBindings>
<CommandBinding Command="{x:Static SystemCommands.CloseWindowCommand}" CanExecute="CommandBinding_CanExecute_1" Executed="CommandBinding_Executed_1" />
<CommandBinding ... />
<CommandBinding ... />
</Window.CommandBindings>
<Button Command="{x:Static SystemCommands.CloseWindowCommand}" Content ="close"/>
<Button ... />
<Button .../>
XAMLで:C#で
<Button Content="X" Click="CloseButton_Click" />
<Button .../>
<Button ... />
:
private void CloseButton_Click(object sender, RoutedEventArgs e)
{
Close();
}
...
"ベストプラクティス"は常に意見に基づいています。私の意見:Model-View-ViewModelパターンとデータバインディングの使用による第3のアプローチを検討してください。 [WPFの簡単なコマンド例](https://docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/commanding-overview#simple_command) – Fabio
を参照してください。MVVMを使用している場合は)、 'Command'' Binding'を' ICommand'実装に使用してください。 –