문제

WPF에서 꽤 Begginer. 확인란이 있으며 모든 확인 변경 사항이 IsChecked 매개 변수를 가져오고 일부 작업을 수행하는 명령을 Excute합니다.

내 xaml 파일에 다음 코드가 있습니다.

My ViewModel에서 다음 코드가 있습니다.

    private ICommand _addSelectedItemsCommand;
    public ICommand AddSelectedItemsCommand
    {
        get
        {
            if (_addSelectedItemsCommand == null)
            {
                _addSelectedItemsCommand = new RelayCommand(param => this.AddSelectedItems());
            }
            return _addSelectedItemsCommand;
        }
    }


    private void AddSelectedItems()
    {
        Do something...
    }
.

그러나 "Somthing"의 경우 iSchecked 매개 변수가 필요합니다. 어떻게 얻을 수 있습니까?

감사합니다

도움이 되었습니까?

해결책

invokecommandaction 클래스.표현식 블렌드 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.
  }
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top