1

私はWPFの初心者です。私は checkBox を持っていて、すべてのチェックの変更が IsChecked パラメータを取得して何らかのアクションを実行するコマンドを実行することを望んでいます。

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 パラメータが必要です。どうすれば取得できますか?

ありがとう

4

2 に答える 2

1

ViewModel RelayCommand では次のようになります

private RelayCommand<string> AddSelectedItemsCommand{get;set;}

そして、ViewModel コンストラクター コードでは次のようになります

AddSelectedItemsCommand=new RelayCommand<string>(AddSelectedItemsMethod);


void AddSelectedItemsMethod(string AddItem)
{
 Your Code Goes Here.
  }
于 2012-09-30T18:11:13.407 に答える
0

InvokeCommandActionクラスを使用する必要があります。Expression 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>
于 2012-09-30T07:38:29.543 に答える