2011-02-23 2 views
2

MVVMLight를 사용하여 TreeViewItem Selected 이벤트를 명령에 바인딩하려고합니다.문제 MVVMLight를 사용하여 TreeViewItem에 명령 바인딩

TreeViewItem의의 (아래 그림 참조) 그래서

<HierarchicalDataTemplate 
      x:Key="TreeViewItemTemplate" 
      ItemsSource="{Binding ChildReportViewModels}"> 
      <i:Interaction.Triggers> 
       <i:EventTrigger EventName="Selected"> 
        <MvvmLight_Command:EventToCommand Command="{Binding LoadReportCommand, Mode=OneWay}" /> 
       </i:EventTrigger> 
      </i:Interaction.Triggers> 
</HierarchicalDataTemplate> 

어떻게 다른 내가 각 TreeViewItem에 EventTrigger를 추가 할 수 있습니다 Interaction.Triggers을 추가 할 수있는 HierarchicalDataTemplate에 정의되어 있습니다?

감사합니다.

답변

2

이 질문은 깜빡했습니다.

미래의 심판에 대한

, 여기에 HierarchicalDataTemplate에서 내가 사용하는 솔루션 ...

대신 트 리뷰의 선정 이벤트에 EventToCommand를 결합하려고 노력

이 내가 TextBlock의의 MouseLeftButtonUpEvent에 바인딩 선언을위한입니다 TreeViewItems.

<HierarchicalDataTemplate 
    x:Key="TreeViewItemTemplate" 
    ItemsSource="{Binding ChildReportViewModels}" 
    ItemContainerStyle="{StaticResource TreeViewItemContainerStyle}"> 
    <StackPanel Orientation="Horizontal">   
     <TextBlock Text="{Binding Name}"> 
     <i:Interaction.Triggers> 
      <i:EventTrigger EventName="MouseLeftButtonUp"> 
       <gs_cmd:EventToCommand Command="{Binding LoadPublicationCommand, Mode=OneWay}" CommandParameter="{Binding}" /> 
      </i:EventTrigger> 
     </i:Interaction.Triggers> 
     </TextBlock> 
    </StackPanel> 
</HierarchicalDataTemplate> 
0

MVVMLight 및 특히 EventTrigger에 대해 많이 알지 못합니다.

그러나 아직 질문에 대한 답변이 없으므로 codeplex 기사 TreeViewWithViewModel이 도움이 될 수 있습니다. wpf-treeview에서 SelectedItem 및 IsExpanded Properties에 바인딩하는 방법과이를 사용하여 트리 뷰에서 요청시로드를 구현하는 방법을 보여줍니다.