Wpf 如何在鼠标单击后停止treeview collaps事件

Wpf 如何在鼠标单击后停止treeview collaps事件,wpf,treeview,Wpf,Treeview,在鼠标单击treeview项目箭头(在视图中)后,如何停止treeview collaps事件? 我需要显示我的树视图一直处于展开状态。只显示树视图项,甚至没有箭头(和可折叠区域) e、 g (这是最小值,如果需要,您需要使用触发器来显示当前选择)您可以将TreeView项目上的折叠事件设置为: private void TreeViewItem_Collapsed(object sender, RoutedEventArgs e) { (sender as TreeViewItem

在鼠标单击treeview项目箭头(在视图中)后,如何停止treeview collaps事件? 我需要显示我的树视图一直处于展开状态。

只显示
树视图项,甚至没有箭头(和可折叠区域)

e、 g



(这是最小值,如果需要,您需要使用触发器来显示当前选择)

您可以将TreeView项目上的折叠事件设置为:

private void TreeViewItem_Collapsed(object sender, RoutedEventArgs e)
{
    (sender as TreeViewItem).IsExpanded = true;
}

它并不能阻止它崩溃,但它只是在崩溃时自动展开它。

您可以在XAML中设置崩溃事件:

<TreeView 
    Name="myTreeView"
    ItemsSource="{Binding dataSource}">
            <TreeView.ItemContainerStyle>
                <Style TargetType="TreeViewItem">
                    <Setter Property="IsExpanded" Value="True" />
                    <Style.Triggers>
                        <EventTrigger RoutedEvent="Collapsed">
                            <EventTrigger.Actions>
                                <BeginStoryboard>
                                    <Storyboard>
                                        <BooleanAnimationUsingKeyFrames 
                                            Duration="0" 
                                            Storyboard.TargetProperty="(TreeViewItem.IsExpanded)">
                                            <DiscreteBooleanKeyFrame KeyTime="0" Value="True" />
                                        </BooleanAnimationUsingKeyFrames>
                                    </Storyboard>
                                </BeginStoryboard>
                            </EventTrigger.Actions>
                        </EventTrigger>
                    </Style.Triggers>
                </Style>                            
            </TreeView.ItemContainerStyle>
        </TreeView>


这不会阻止折叠该项目,因为默认情况下,您仍然可以通过双击来折叠它。@kroimon:拦截该项目的各种方法,例如使用阻止鼠标事件通过。删除treeview.resources open标记后,这对我来说非常有效-谢谢
<TreeView 
    Name="myTreeView"
    ItemsSource="{Binding dataSource}">
            <TreeView.ItemContainerStyle>
                <Style TargetType="TreeViewItem">
                    <Setter Property="IsExpanded" Value="True" />
                    <Style.Triggers>
                        <EventTrigger RoutedEvent="Collapsed">
                            <EventTrigger.Actions>
                                <BeginStoryboard>
                                    <Storyboard>
                                        <BooleanAnimationUsingKeyFrames 
                                            Duration="0" 
                                            Storyboard.TargetProperty="(TreeViewItem.IsExpanded)">
                                            <DiscreteBooleanKeyFrame KeyTime="0" Value="True" />
                                        </BooleanAnimationUsingKeyFrames>
                                    </Storyboard>
                                </BeginStoryboard>
                            </EventTrigger.Actions>
                        </EventTrigger>
                    </Style.Triggers>
                </Style>                            
            </TreeView.ItemContainerStyle>
        </TreeView>