대부분의 WPF mvvm 응용 프로그램에서는 뷰 모델에 ICommand
을 사용하고 있습니다. 그러나 System.Windows.Input
을 참조하고 있습니다. 따라서 뷰 모델은 System.Windows.Input
네임 스페이스와 밀접하게 연결됩니다. 내 이해보기 - 모델에 따라 일반적인 C#을 winform 응용 프로그램이나 asp.net 응용 프로그램에서 사용할 수 있어야합니다.보기 모델에서 ICommand를 사용해도 괜찮습니까?
일반적으로 다음 코드 줄을 사용하여 RelayCommand
구현으로 명령에 사용하고 있습니다. 내가 어떤 느낌
private RelayCommand testCommand;// or private ICommand testCommand;
public ICommand TestCommand
{
get
{
return testCommand ??
(testCommand = new RelayCommand(param => Test()));
}
}
public void Test()
{
}
우리가 모든 ICommand
를 제거하고 대신 RelayCommand
를 사용할 필요가있다. 따라서 뷰 모델에서 System.Windows
네임 스페이스를 제거 할 수 있습니다. 최종 코드는 다음과 같습니다.
private RelayCommand testCommand;
public RelayCommand TestCommand
{
get
{
return testCommand ??
(testCommand = new RelayCommand(param => Test()));
}
}
public void Test()
{
}
이 접근에 대한 제안 사항은 무엇입니까? 또는 뷰 모델에서 System.Windows
네임 스페이스를 제거 할 수있는 방법이 있습니까?
@BoltClock 'ICommand'는'System.Windows.Input.ICommand'입니다. –
@ 리필 copsey :/facepalm 내가 어떻게 그리워 할 수 있습니다. – BoltClock
'ICommand'는'System.Windows.Input' 안에 있습니다 –