オブジェクト参照を持つことができ、WPF でそのメソッドを直接呼び出すことができます。では、なぜコマンドが必要なのでしょうか?
WPF コマンドも、オブジェクトにコマンドを与えるのと同じことを意味します。たとえば、A/C は、HAND、REMOTE CONTROL などのさまざまなソースから、それ自体を開始するコマンドを取得する場合があります。A/C をモデリングしている場合、オン/オフを切り替えるには、操作を実行できない参照が必要です。 (その上でメソッドを呼び出します)。
オブジェクト参照を持つことができ、WPF でそのメソッドを直接呼び出すことができます。では、なぜコマンドが必要なのでしょうか?
WPF コマンドも、オブジェクトにコマンドを与えるのと同じことを意味します。たとえば、A/C は、HAND、REMOTE CONTROL などのさまざまなソースから、それ自体を開始するコマンドを取得する場合があります。A/C をモデリングしている場合、オン/オフを切り替えるには、操作を実行できない参照が必要です。 (その上でメソッドを呼び出します)。
wpf で説明するcommanding
ことは、それ自体が大きなトピックであり、書くのに数ページかかる場合があります。ここでは、質問で示した例に固執します。まず、その名の通りCommand
(インターフェースの実装ICommand
)を行うことを表しAction
ます。いつ、どのアクションを実行する必要があるかは、それをどこでどのように使用しているかによって異なります。コマンドの基本的な使い方は、UI 上のユーザー アクションを対応する に伝えることViewModels
です。
あなたの例では、AC
関数を持つモデル名がある場合Off()
。これで、UI は、このモデルのレンダリングを提供し、それに対してアクションを実行する複数のコントロールを持つことができます。画面上で、またはショートカットを使用してオフAC
にしたい場合を考えてみましょう。まず、これらのユーザー アクションをモデル (AC) を含むビューモデルに伝える必要があります。xaml はAC を呼び出すことができず、コード ビハインドでそれを行うことは、すべてのユーザー アクションのハンドラーを記述することを意味し、それらの複数のハンドラーから同じ関数を呼び出すことになります。ここでコマンドが介入します。1 つのコマンドだけを定義してバインドします。の、。のハンドラーは 1 つだけです。click
Button
ContextMenu
keyboard
Off()
SwitchOffACCommand
Command
button
MenuItem
Command
どこに電話しますかAC.SwitchOff()
。ACをオフにする前に何かを変更または検証したい場合は、1か所で行うだけです.