Silverlight 4ベータ版でApplicationCommand.Copy、ApplicationCommand.PasteなどのRoutedCommandsを使用することは可能ですか?
1 に答える
いいえ、基本的なICommandはサポートされていますが、RoutedCommandsはSilverlightではサポートされていません。Silverlight 3にはICommandがありましたが、どこでも使用したことはありません。Silverlight 4は、ボタンコントロールにサポートを追加して、ICommandを関連付けます。
ただし、フル機能のルーテッドコマンドはサポートされていません。それらは、コマンドロジックを処理する負担をそれらを処理するUIコントロールに課したため、とにかくWPFでは特に有用ではありませんでした。結局のところ、ViewModelからICommandを公開する方がはるかに便利です。
DelegateCommandなどの非常に便利なクラスを含むPrismプロジェクトについては、http://www.codeplex.com/compositewpfを確認してください。
そうは言っても、カット/コピー/貼り付けなどのコマンドは、通常、実行されるコントロールに直接適用される汎用コマンドであるため、ほとんどのコマンドとは異なります。これは、たとえば、UIの背後にあるアプリケーションにとって非常に特殊な意味を持つ[保存]コマンドとは大きく異なります。これらのクリップボード関連のコマンドについては、従来の分離パターンから脱却し、コードビハインドにUI固有のコードを記述し、FocusManager.GetFocusedElement()を使用して、操作する必要のあるコントロールを特定するのが適切だと思います。