wpf - WPF MVVM-在TreeViewItem中触发事件的最正确方法是什么

标签 wpf events mvvm treeview treeviewitem

我目前正在使用此扩展程序来设置处理ViewModel中数据的特定事件...示例:

<swi:Interaction.Triggers>
    <swi:EventTrigger EventName="Click">
        <esi:CallDataMethod Method="SaveRevision_Clicked"/>
    </swi:EventTrigger>
</swi:Interaction.Triggers>

esi和swi在哪里:
xmlns:esi="clr-namespace:Expression.Samples.Interactivity;assembly=Expression.Samples.Interactivity"
xmlns:swi="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"

但是我想为TreeViewItem设置事件吗?我无法直接访问它们,对吗?

编辑:我实际上正在使用ItemContainerStyle,
<Style x:Key="FolderView" TargetType="{x:Type TreeViewItem}">
    <Setter Property="HeaderTemplate">
        <Setter.Value>
            <HierarchicalDataTemplate ItemsSource="{Binding Children}"  >
                <StackPanel Orientation="Horizontal">
                    <Image Name="img"
                               Width="20"
                               Height="20"
                               Stretch="UniformToFill"
                               Source="Images/hdicon.png"/>
                    <TextBlock Text="{Binding FolderName}" Margin="5,0" />
                </StackPanel>
            </HierarchicalDataTemplate>
        </Setter.Value>
    </Setter>
</Style>

但是我不能在那儿举办 Activity 。这些行应该放在哪里?
<swi:Interaction.Triggers>
    <swi:EventTrigger EventName="Expanded">
        <esi:CallDataMethod Method="Expand"/>
    </swi:EventTrigger>
</swi:Interaction.Triggers>

提前致谢!

最佳答案

您需要使用TreeView.ItemContainerStyle来实现这一点,这里有一些实现可能会有所帮助:

Strange Behaviour WPF TreeView ItemContainerStyle and ItemTemplate

WPF Double Click TreeviewItem Child Node

关于wpf - WPF MVVM-在TreeViewItem中触发事件的最正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5108247/

相关文章:

javascript - ASP.NET 计时器 + 更新面板 : How do I stop the event from continually registering?

c# - ViewModel 属性的异常行为,未执行 RaisePropertyChanged

wpf - {x :Null} vs. 透明?

c# - 如何在 WPF 中长时间运行的 UI 进程之前(和之后)更新 UI?

jquery - 如何使用jquery触发双击

c# - DLL 中的 ResolveEventHandler(类库)

c# - Caliburn - ShellFramework - Show.MessageBox

wpf - DataContext 未绑定(bind)在 Style.Trigger 中

wpf - 设置内容控制的背景

c# - 如何在 wpf datagrid 中获取所选单元格的行标题值?