2010-03-07 29 views

回答

4

不,Silverlight中不支持RoutedCommands,儘管原始ICommand是。 Silverlight 3有ICommand,但從未在任何地方使用過。 Silverlight 4增加了對按鈕控件的支持以使ICommand關聯。

但是,不支持全功能路由命令。無論如何,它們在WPF中並不是特別有用,因爲它們負責在處理它們的UI控件上處理命令邏輯。事實證明,從ViewModel公開ICommand更有用。

檢出http://www.codeplex.com/compositewpf Prism項目,其中包括一些非常有用的類,如DelegateCommand。儘管如此,剪切/複製/粘貼等命令與大多數命令不同,因爲它們是通用命令,通常直接應用於執行它的控件。這與Save命令有很大不同,例如對於UI背後的應用程序具有非常特定的含義。對於這些剪貼板相關的命令,我會說從傳統的分離模式中突破並在後面的代碼中編寫一些特定於UI的代碼並使用FocusManager.GetFocusedElement()來確定需要操作哪個控件是很好的。

+0

感謝您的回答 – Ganesan 2010-03-07 20:17:13

+0

只需添加Josh所說的話:您可以使用Prism中的命令實現而不使用所有Prism(Prism的複合應用程序框架根本就不需要命令)。 – 2010-03-11 15:02:46