Команды привязки проблемы к TreeViewItem с использованием MVVMLight - PullRequest
2 голосов
/ 23 февраля 2011

Я пытаюсь использовать MVVMLight для привязки события TreeViewItem Selected к команде.

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 к каждому TreeViewItem?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 22 марта 2011

Я забыл об этом вопросе.

Для будущих ссылок, вот решение, которое я использовал ...

Вместо того, чтобы пытаться связать EventToCommand с событием Selected объекта TreeView, я привязалэто к MouseLeftButtonUpEvent TextBlock, объявленного в 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 голосов
/ 09 марта 2011

У меня мало знаний о MVVMLight и особенно о EventTrigger.

Но так как ответа на ваш вопрос пока нет, статья кодекса TreeViewWithViewModel может помочь. В нем показано, как связать свойства SelectedItem и IsExpanded в представлении wpf-дерева и как их можно использовать для реализации загрузки по требованию в представлении дерева.

...