2013-10-14 3 views
1

에서 나는 다음과 같은 XAML은 RecentDocuments와 하위의 MenuItem의 목록을 채우는 데 사용했다 이 잘 작동하고 이렇게 최근 메뉴 항목을 표시합니다.하위 MenuItem을 선택 MVVM

MenuItems

제 질문은, 최근 파일의 클릭 이벤트에 어떻게 바인딩 할 수 있습니까? MenuItem? 나는 AttachedCommands을 사용하기가 쉽지만 어떻게 달성 될지 모르겠습니다.

감사합니다.

답변

2

MVVM 패턴을 사용하는 경우 클릭 이벤트가 전혀 필요하지 않습니다.

ViewModel과 통신하려면 MenuItem.Command 속성을 사용해야합니다.

제가 알 수있는 것처럼 ItemContainerStyle을 사용하고 있습니다. 당신은 그 스타일에 다음 줄을 추가 할 수 있습니다

<Style x:Key="RecentMenuItem" TargetType="MenuItem"> 
    ... 
    <Setter Property="Command" Value="{Binding Path=SelectCommand}" /> 
    ... 
</Style> 

그리고 당신의 RecentFile에 :

public ICommand SelectCommand { get; private set; } 

당신은 RecentFile 클래스의 생성자 내부의 명령을 초기화 할 수 있습니다.

+0

예,하지만 어떻게 되나요? 그것은 _ 질문입니다. 문제가 발생하는 이유는 런타임에 항목이 채워지는 것입니다 ... – MoonKnight

+0

위의 편집을 참조하십시오. – stukselbax

+0

물론 아. 어리 석음. 그러나 바인딩 스타일을 사용하려면 다음을 수행해야합니다. ''. 시간 내 줘서 고마워. – MoonKnight

관련 문제