WPF を学ぶにあたって、私はたくさんの本や Web サイトを読んできました。私を回避し続けているように見えることの 1 つは、RoutedCommands を適切に接続する方法です。ある記事で、作成者は、XAML ファイルの分離コードには InitializeComponent の呼び出しだけを含める必要があると指摘しました。私はそれを後回しにすることができます。これにより、XAML ファイルは単なるプレゼンテーション ドキュメントに過ぎず、懸念事項の分離に対する私の不浄な渇望が満たされます。
一方、ダブルクリック イベントに対処するサンプルはどれも、コードを書く必要があるようです。コードビハインド ファイルに反復的なコードを含めることから逃れたいというのが私の理解でした (繰り返しますが、私はそれで大賛成です)。メニュー コマンド、ツールバー ボタンのクリックなどについても同様です。
たとえば、ドキュメントを開くコマンドがあるとします。そのコマンドは、[開く] ダイアログを表示してから、ドキュメントを開いてアプリケーション状態にキャッシュする必要があります。(このアプリケーションでは、一度に 1 つのドキュメントでしか作業できません。) ユーザーは、次のいずれかの方法でこのコマンドを呼び出すことができます。
- メニューから [ファイル] → [開く] を選択します。
- Ctrl+O を入力します。
- ツールバーの [開く] ボタンをクリックします。
Web 上のほとんどのソースを信頼する場合、少なくとも 2 つの Click イベント ハンドラーを記述してコマンドを呼び出し、コード ビハインド ファイルを汚染する必要があります。私には、コマンドを持つ目的を無効にするように思えます。XAMLでコマンドをこれらのものに宣言的にバインドする方法があり、実行できない場合はコマンドを無効にすることさえできるとどこかで読んだと思いました。しかし、今はそれを見つけることができないようであり、それを行う方法の適切な例でもありません。
誰かが私にこれを説明してもらえますか? この時点で、すべてがブードゥー教と榴散弾のように見え始めています。