2013-11-04 6 views
1

모듈 내에 모듈이 있습니다. 두 개의 리본 버튼 "만들기"및 "편집"이 필요합니다.이 두 버튼은 동일한 View 및 ViewModel을 가리 킵니다. 이들을 구분할 수있는 유일한 방법은 리본 버튼의 명령 매개 변수 속성 부분을 사용합니다. View로 이동하려면 Navigate View를 사용합니다. ViewModel 생성자에 Create 또는 Edit.Any suggestion에서 호출하는 추가 매개 변수를 전달하고 싶습니다.동일한보기 모델을 가리키는 두 개의 리본 버튼

답변

0

당신은 당신의 ViewModel에 두 diferentes 명령을 만들 필요

1 CommandEdit -> Asingned 바인딩으로 CommandProperty button Edit;

2 CommandCreate -> 바인딩으로 CommandProperty button Create을 구성 함.

수치심 명령 동작에서 논리를 공유하지 않는 것이 좋습니다. 버튼을 정의 할 때 http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.tag.ASPX

http://msdn.microsoft.com/en-us/library/microsoft.windows.controls.ribbon.ribbonbutton.ASPX, 당신은 각 리본 버튼 태그의 속성을 설정할 수 있습니다 :

0

RibbonButton는 태그 속성이 있습니다. 그런 다음 이벤트 처리기에서 태그 값을 추출하여 그에 따라 대응할 수 있습니다.

0

CreateEdit 버튼이 두 가지 다른 Commands 버튼을 바인딩합니다. CreateCommandEditCommand. Command의 해당 Execute 메소드에서 호출자에 대한 추가 세부 정보를 전달합니다.

샘플 코드 :

void CreateCommandExecute(object o) 
{ 
    YourMethod("Create", o); 
} 

void EditCommandExecute(object o) 
{ 
    YourMethod("Edit", o); 
} 

void YourMethod(string caller, object commandParameter) 
{ 
    // Your logic goes here 
}