2011-02-23 143 views
2

我試圖用MVVMLight到一個TreeViewItem Selected事件綁定到命令。問題綁定命令,以樹型視圖使用MVVMLight

TreeViewItem的是在HierarchicalDataTemplate定義,所以我不能添加Interaction.Triggers(如下圖所示)

<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> 

我還能如何添加EventTrigger每個樹型視圖?

謝謝。

回答

2

我忘了這個問題。

對於未來的參考,這是我使用的解決方案......

,而不是試圖將EventToCommand綁定到TreeView的選定事件 我把它綁定到TextBlock的MouseLeftButtonUpEvent宣佈在HierarchicalDataTemplate爲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沒有多少知識。

但因爲沒有回答您的qestion但在CodePlex上的文章TreeViewWithViewModel可能的幫助。它顯示瞭如何在wpf-treeview中綁定SelectedItem和IsExpanded Properties以及如何在樹視圖中使用這些實現按需加載。