私はMVVMパターンが新しく、独自のカスタムコマンドを作成しようとしています。カスタムコマンドを書くための最良の方法は何ですか? (私はここで多くの記事を読んだが、私のコマンドを作成するという考えは得られなかった)。特に、ボタンをクリックして1つのListViewからアイテムを取得して別のListViewに配置した後で、コマンドを作成するというアイデアを手伝ってもらえれば助かります。 (リストビューはObservableCollectionにバインドされています)。前もって感謝します!独自のカスタムコマンドを作成する方法
0
A
答えて
0
ICommandインターフェイスを実装するだけです。ウェブ上には多くのものがあり、さらにはナゲットパッケージで実装されています。 RelayCommandまたはDelegateCommandをICommandで検索すると、多くの実装が見つかります。あなたはそれを持っているだけでVMのプライベートメソッドをコマンドでラップするだけです。例えばただ「StartTestCommand」またはものは何でもあなたのコマンドが呼び出されるまで、ボタンのCommandプロパティをバインド(あなたのビューモデルは、データコンテキストであると仮定した場合)XAMLでコマンドをバインドするに
ICommand startTestCommand;
public ICommand StartTestCommand { get { return startTestCommand ?? (startTestCommand = new RelayCommand(StartTest)); }
private void StartTest()
{
//This will execute if the Command is bound in XAML
}
。
本質的には、あなたが求めているもののために「自分のコマンドを作成する」のではなく、結合を防ぐためにコマンドメディエーターの代理人をラップします。独自のコマンドを作成する理由はありますが、そこにあるものを使用することをお勧めします。
0
ICommand
インターフェイスを実装するだけで済みます。ほとんどのMVVMフレームワークには、それを実装する一般的なデリゲートベースのコマンドクラスがあります(MVVMライトではRelayCommand
など)。あなたは、コンストラクタに実行するメソッドを渡すだけです。
関連する問題
- 1. 独自のロギングレベルの独自のログメソッドを作成する方法
- 2. 独自のフラッシュデバッガの作成方法は?
- 3. カスタムコマンドの作成
- 4. Tmuxのコピーモード:独自のコマンドを作成する方法は?
- 5. MVC APIの独自のAuthorize属性を作成する方法
- 6. Jquery Range Slider独自のシーケンスを作成する方法
- 7. アンドロイドで独自のリスナーインターフェースを作成する方法は?
- 8. エンティティフレームワークでCodefirstアプローチで独自の/カスタムコントローラを作成する方法
- 9. tinymce 4:独自のファイルマネージャを作成する方法は?
- 10. Csslint - 独自のプラグインを作成する方法
- 11. 独自のsap.suite.ui.generic.template.ObjectPageを作成する方法
- 12. ACFギャラリー用に独自のカスタムイメージサイズを作成する方法
- 13. exoplayer2.xに独自のカスタムデータソースファクトリを作成する方法は?
- 14. 独自のARエンジンを作成する方法:AR理論
- 15. HTMLで独自のエンティティコードを作成する方法
- 16. Tensorflow - TextSumモデル:独自のトレーニングデータを作成する方法
- 17. Magentoで独自のフロントエンドを作成する方法1.6.2
- 18. pythonで独自のmap()関数を作成する方法
- 19. Android用に独自のPDFビューアを作成する方法は?
- 20. 独自のdotnet obfuscatorを作成する方法
- 21. djangoで独自の言語パッケージを作成する方法
- 22. WPFで独自のGUIコンポーネントを作成する方法は?
- 23. OptaPlanner独自の.vrpを作成する方法
- 24. 独自のJSONファイルをローカルに作成する方法は?
- 25. BDS2006、C++:ダイアログを作成するための独自のフォームテンプレートの作成方法
- 26. 独自のパケットモニタを作成
- 27. 独自の.NETアセンブリキャッシュを作成する
- 28. 独自のMD5コリジョンを作成する
- 29. 独自のアサートクラスを作成する
- 30. 独自のエンコーディングを作成する