WPF MVVMを介してCommandParameterを処理します
-
11-12-2019 - |
質問
WPFではまったく始まります。 私はチェックボックスを持っています、そして私はすべてのチェックの変更がischeckedパラメータを取得し、何らかの行動を実行するコマンドをrecectececteさせます。
私は私のxamlファイルに次のコードを持っています:
私のViewModel私は次のコードを持っています:
private ICommand _addSelectedItemsCommand;
public ICommand AddSelectedItemsCommand
{
get
{
if (_addSelectedItemsCommand == null)
{
_addSelectedItemsCommand = new RelayCommand(param => this.AddSelectedItems());
}
return _addSelectedItemsCommand;
}
}
private void AddSelectedItems()
{
Do something...
}
.
しかし、私はISCheckedパラメータが必要です、どうやって入手できますか?
ありがとう
解決
InvokeCommandaction クラス。Axpression Blend SDKで見つけることも、このNUGETパッケージをプロジェクトに追加することもできます。。
<CheckBox
xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Checked">
<ei:InvokeCommandAction Command="{Binding AddSelectedItemsCommand}" CommandParameter="..." />
</i:EventTrigger>
</i:Interaction.Triggers>
</CheckBox>
. 他のヒント
あなたのViewModel RelayCommandのように見えます
private RelayCommand<string> AddSelectedItemsCommand{get;set;}
.
とあなたのViewModelコンストラクタコードでは、のように見えます
AddSelectedItemsCommand=new RelayCommand<string>(AddSelectedItemsMethod);
void AddSelectedItemsMethod(string AddItem)
{
Your Code Goes Here.
}
. 所属していません StackOverflow