여러 가지 사용자 지정 명령을 사용하는 도구 모음/메뉴가있는 WPF 응용 프로그램에서 작업 중입니다. 아마 약 15-20. 나는 커스텀 커맨드를 만드는 법에 관한 문서를 보았지만, 그것들 중 어느 것도 필자가하려고하는 것에 반드시 적용되는 것은 아니다.wpf의 사용자 지정 명령
컨트롤러를 사용하여 응용 프로그램의 비즈니스 논리를 처리하고 있으며 모든 논리를 수행하지 않고 내보기를 유지하려고합니다.
내가 뭘하고 싶은건 컨트롤러와 뷰에서 디커플링 할 수 있도록 커스텀 커맨드 클래스를 보유하고있는 프로젝트의 디렉토리를 만드는 것이다.하지만 나는 여전히 뷰와 같은 뷰에서 호출되도록하고 싶다. 정상적인 명령입니다.
나는 또한 DelegateCommand 클래스의 사용을 볼 수 있지만, 내가의 머리에 원하는 방향 인 경우 아주 잘 모르겠습니다있다.
이I와 같은 임의의 사용자 지정 명령 클래스를 가질 수 있도록하고 싶습니다 다음
public CustomCommand: ICommandd
{
public bool CanExecute(object parameter)
{
//arbitrary logic
}
public void Execute(object parameter)
{
}
}
아이디어는 내가이 10 ~ 20을 것이라고, 그리고 나는 그들이 다른 모든 것들과 분리 유지하고, 필요할 때 호출 할 갖고 싶어.
내 사용자 지정 명령을 구분할 수있는 방법이 있지만 꽤 확실하지 않습니다.
나는 명령을 처음 사용하기 때문에 개념을 이해하려고 노력 중이다.
덕분에,
이 특히 MV-VM 아키텍처, 실제로 명령을 수행하는 매우 유용한 방법이지만, 불행하게도 이것은 내가 아주 것이 아니다 찾고, 만약 당신이 위에서 읽은, 내가 실제로 내보기의 모든 논리를 분리 찾고, 내가이 일을위한 구체적인 이유가, 실제로 내가 뭘 찾았는지 발견 http://www.codeproject.com/KB /WPF/CentralizingWPFCommands.aspx?display=Print - 훌륭한 예제를 위해 Upvote, 감사합니다! – TheJediCowboy
정적 클래스를 통해 명령을 제공하려는 경우에도 RelayCommands를 사용하는 것이 좋습니다. 이렇게하면 xaml 파일의 코드 뒤에 코드가 필요 없으며'_DeleteContact = new RoutedUICommand ("기존 연락처 삭제", "DeleteContact", typeof (MyAppCommands));는 리팩토링을 변경하고 방해 할 수있는 하드 코드 된 문자열을 포함합니다. 나는 당신의 유스 케이스에 관심이있을 것이다. 왜 모든 명령을 하나의 정적 클래스에 넣고 싶습니까? – Zebi