2016-08-17 2 views
0

MVVM 패턴을 처음 사용하고 사용자 정의 명령을 직접 작성하려고합니다. 사용자 정의 명령을 작성하는 가장 좋은 방법은 무엇입니까? (나는 많은 기사를 여기저기서 읽었지만 내 명령을 만드는 아이디어를 얻을 수 없었다). 특히 하나의 ListView에서 항목을 가져 와서 다른 항목에 넣으려는 단추를 클릭 한 후에 누군가가 명령을 만드는 아이디어로 나를 도울 수 있다면 더욱 그렇습니다. (목록보기는 ObservableCollection에 바인드됩니다). 미리 감사드립니다!내 사용자 정의 명령을 만드는 방법

답변

0

ICommand 인터페이스를 구현하기 만하면됩니다. 웹상에는 많은 것이 있거나 심지어 너겟 (nuget) 패키지로 구현되었습니다. ICommand를 사용하여 RelayCommand 또는 DelegateCommand를 검색하면 여러 가지 구현을 찾을 수 있습니다. 그런 다음 명령에서 VM 개인 메서드를 래핑하면됩니다. 예 :

ICommand startTestCommand; 

public ICommand StartTestCommand { get { return startTestCommand ?? (startTestCommand = new RelayCommand(StartTest)); } 

private void StartTest() 
{ 
    //This will execute if the Command is bound in XAML 
} 

은 당신의 명령이라고 어떤 버튼을 "StartTestCommand"또는 명령 속성을 바인딩 (데이터 컨텍스트가보기 모델입니다 가정) XAML에서 명령을 결합합니다.

그래서 본질적으로 당신이 묻는 것에 대해서는 "자신 만의 명령 만들기"를하지 않고 결합을 방지하기 위해 명령 중개자를 위임받은 사람을 감싸줍니다. 자신 만의 명령을 만드는 이유가 있지만 그곳에있는 것을 사용하는 것이 좋습니다.

0

ICommand 인터페이스 만 구현하면됩니다. 대부분의 MVVM 프레임 워크에는이를 구현하는 일반 위임 기반 명령 클래스가 있습니다 (예 : MVVM 표시 등에 RelayCommand). 생성자에게 실행할 메소드를 전달하기 만하면됩니다.

관련 문제