CanExecute 기능을 사용할 수 있도록 내 뷰에서 RoutedCommand를 사용하려고하는데, 작동시킬 수있는 유일한 방법은 DelegateCommand 프리즘에서. RoutedCommand를 사용하려고하면 버튼이 비활성 상태로 유지되고 CanExecute 함수가 사용되지 않습니다.뷰 모델의보기에서 라우트 된 명령을 사용하는 방법
XAML에 CommandBinding을 넣으려고했지만 "생성 된 코드 숨김 클래스에만 인스턴스 메서드 만 유효합니다."라는 메시지가 표시됩니다. 오류. 그 코드는 다음과 같습니다.
<Window.CommandBindings>
<CommandBinding Command="AddCommand"
Executed="my:SettingsDialogViewModel.AddCommandMethod"
CanExecute="my:SettingsDialogViewModel.AddCommandMethodCanExecute" />
</Window.CommandBindings>
또한 코드에서 CommandBinding을 설정하려고 시도했으나 도움이되지 않습니다. 나는 코드를 뒤집어 쓰지 않는 방법, 웹상에서 발견 한 엄청나게 복잡한보고있는 것을 구현하는 방법을 모르는 것 같습니다.
도움 :
편집 주셔서 감사합니다 :
public void AddCommandMethod()
{
if (SelectedMain != null)
{
SelectedMain.IsDirty = true;
_faveAppList.Add(SelectedMain);
SelectedMain.ListOrder = _faveAppList.Count;
_mainAppList.Remove(SelectedMain);
_listDirty = true;
}
}
public void AddCommandMethodCanExecute(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = true;
}
정적 방법입니까? 그렇다면'x : Static' 문법을 사용해야합니다. –
아니요, 정적이 아닙니다. – Paul
제공 한 코드로 제안 할 수있는 유일한 방법은 MVVM 웹 사이트를 다시 방문하는 것입니다. PRISM을 체크 아웃하는 것이 좋습니다. –