3

Silverlight 4ベータ版でApplicationCommand.Copy、ApplicationCommand.PasteなどのRoutedCommandsを使用することは可能ですか?

4

1 に答える 1

4

いいえ、基本的なICommandはサポートされていますが、RoutedCommandsはSilverlightではサポートされていません。Silverlight 3にはICommandがありましたが、どこでも使用したことはありません。Silverlight 4は、ボタンコントロールにサポートを追加して、ICommandを関連付けます。

ただし、フル機能のルーテッドコマンドはサポートされていません。それらは、コマンドロジックを処理する負担をそれらを処理するUIコントロールに課したため、とにかくWPFでは特に有用ではありませんでした。結局のところ、ViewModelからICommandを公開する方がはるかに便利です。

DelegateCommandなどの非常に便利なクラスを含むPrismプロジェクトについては、http://www.codeplex.com/compositewpfを確認してください。

そうは言っても、カット/コピー/貼り付けなどのコマンドは、通常、実行されるコントロールに直接適用される汎用コマンドであるため、ほとんどのコマンドとは異なります。これは、たとえば、UIの背後にあるアプリケーションにとって非常に特殊な意味を持つ[保存]コマンドとは大きく異なります。これらのクリップボード関連のコマンドについては、従来の分離パターンから脱却し、コードビハインドにUI固有のコードを記述し、FocusManager.GetFocusedElement()を使用して、操作する必要のあるコントロールを特定するのが適切だと思います。

于 2010-03-07T20:00:15.987 に答える