【问题标题】:Problem Binding Commands to TreeViewItem using MVVMLight使用 MVVMLight 将命令绑定到 TreeViewItem 的问题
【发布时间】:2011-07-02 21:11:50
【问题描述】:

我正在尝试使用 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?

谢谢。

【问题讨论】:

    标签: mvvm binding command mvvm-light treeviewitem


    【解决方案1】:

    我忘记了这个问题。

    对于未来的参考,这是我使用的解决方案...

    而不是尝试将 EventToCommand 绑定到 TreeView 的 Selected 事件, 我将它绑定到 TreeViewItems 的 HierarchicalDataTemplate 中声明的 TextBlock 的 MouseLeftButtonUpEvent。

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

    【讨论】:

      【解决方案2】:

      我对 MVVMLight 尤其是 EventTrigger 知之甚少。

      但由于您的问题没有答案,codeplex 文章TreeViewWithViewModel 可能会有所帮助。它展示了如何绑定到 wpf-treeview 中的 SelectedItem 和 IsExpanded 属性,以及如何使用这些属性在树视图中实现按需加载。

      【讨论】:

        猜你喜欢
        • 2019-05-07
        • 1970-01-01
        • 1970-01-01
        • 2015-03-24
        • 1970-01-01
        • 1970-01-01
        • 2011-07-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多