나는이 질문에 대한 몇 가지 대답을 찾았지만 어떻게 든 그것을 얻지는 못한다. 그러니 나 한테 물어봐.버튼을 어떻게 활성화/비활성화 할 수 있습니까?
MVVM 패턴을 따르는 WPF 응용 프로그램이 있습니다.
<button Content="Login" Command="{Binding ProjectLoginCommand}"/>
명령은 RelayCommand
을 사용하고 있습니다 : 그것은보기 모델의 명령에 바인딩 된 버튼이 포함되어 있습니다. 이제 다음을 원합니다 :
- 사용자가 버튼을 클릭하면 해당 명령이 실행됩니다. 이 작동합니다.
- 이 명령 내에서 다른 버튼을 비활성화해야합니다. 즉, 클릭 할 수 없습니다.
나는 이것이 CanExecute
을 사용하여 가능해야하지만 솔직히 말해서 나는 그것을 얻지 못한다. Hoe 버튼을 활성화/비활성화 할 수 있습니까?
이
은RelayCommand.cs
는 다음과 RelayCommand 오브젝트를 작성할 때 다른 중 (당신이 할 수있는 할 수있는 술어를 통과해야
RelayCommand getProjectListCommand;
public ICommand GetProjectListCommand {
get {
if (getProjectListCommand == null) {
getProjectListCommand = new RelayCommand(param => this.ProjectLogin());
}
return getProjectListCommand;
}
}
두 명령의'Execute' 및'CanExecute'에 대한 코드를 표시 할 수 있습니까? – Rachel
명령 사용법을 추가했습니다. 하지만 실제로,'RelayCommand' 클래스의 코드를 제외하고는'Execute' 나'CanExecute' 코드를 가지고 있지 않습니다. –
감사합니다. Robert. Button의 Enabled/Disabled는 자동적으로'Command.CanExecute'에 묶여 있으므로 Button1은'CanButton2Execute'가 실행될 때 false가되도록 설정해야합니다. 그러면 Button2가 비활성화됩니다. – Rachel