モデルイベント]を表示ボタンクリックにバインドします
-
28-10-2019 - |
質問
私のviewmodelにはイベントがあります
public class TestViewModel
{
public event RoutedEventHandler Run;
}
ユーザーが表示されているボタンをクリックしたときにこのイベントをトリガーしたい
ビュー内のボタンでこれをバインドする方法は?
解決
ルーティングされたイベント モデルを表示しないコントロールを対象としています。ボタンをクリックするボタンで実行する必要がある場合は、 指図 私の意見ではより適しているでしょう、それは簡単にに縛られる可能性があります Button.Command
.
他のヒント
そのような行動には、DelegateCommandを使用する必要があると思います。
あなたのビューモデルで:
private DelegateCommand _runCommand;
public DelegateCommand RunCommand
{
get
{
if (_runCommand == null)
_runCommand = new DelegateCommand(Run, CanRun);
return _runCommand;
}
}
void Run()
{
...
}
bool CanSaveAction()
{
return true;
}
あなたのページで:
<Button Command="{Binding RunCommand}" />
所属していません StackOverflow