指定されたイベントからルーティングコマンドを発射する方法は?
-
02-10-2019 - |
質問
WPFのコマンドに関する簡単な質問があります。コマンドプロパティにバインドされたicommandを備えたボタンがあり、このボタンをクリックするとコマンドが起動します。
今、私はボタンを押し下げているときに特定のコマンドを開始するのを望んでいます(mouseleftbuttondown イベントだと思いますが、どうすれば1つのボタンに複数のコマンドを配置し、コマンドを開始するイベントを指定するにはわかりません。
何か考えはありますか?多分カスタムコントロール?
助けてくれてありがとう、
アントワーヌ。
解決
自分のクラスに基づいていることを検討するかもしれません Button
そして、あなた自身のセットでそれを拡張します Command
, CommandTarget
と CommandParameter
- プロパティのような(おそらく偶数 DependencyProperty
. 。コマンドを起動したいときは、これを行うだけです。
void FireCommand()
{
var routedCommand = Command as RoutedCommand;
if (routedCommand != null)
{
routedCommand.Execute(CommandParameter, CommandTarget);
}
else if (Command != null)
{
Command.Execute(CommandParameter);
}
}
所属していません StackOverflow