我目前正在重構我的程序以使用MVVM。我已經嘗試過2天使用命令,但我根本無法找到使用它們的好方法。
快捷方式只能用於RoutedCommands和RoutedUICommands,CanExecute和Executed事件處理程序必須在代碼隱藏文件中定義以訪問ui-elements,這會降低可重用性。
如果命令是在視圖模型中定義的,則不能訪問ui-elements。
2的例子來說明我在說什麼在這裏:
如何使用RoutedUICommand?
- 我有一個DataGrid的項目清單。在執行DataGrid上的雙擊時,應該在另一個窗口中打開所選項目。如何在MouseDoubleClick事件中調用命令?
- 組合框包含值列表。一個按鈕打開一個新的窗口,添加一些東西到這個列表中。窗口關閉後,應該選擇新值。
我認爲應該使用CommandTarget屬性,但RoutedUICommands可能如何實現?