Wpf 如何使用双击而不是单击扩展器?

Wpf 如何使用双击而不是单击扩展器?,wpf,expander,Wpf,Expander,我在DataGrid中有一个扩展器 我想改为单击行为,但它需要知道它自己 然后,使用双击展开 我需要一个容易实现的方法 有什么想法吗?如果你想双击展开/折叠扩展器,你可以处理它的加载事件,获取对切换按钮标题按钮的引用,然后像这样处理它的预览鼠标左键下: private void Expander_Loaded(object sender, RoutedEventArgs e) { Expander expander = sender as Expander; ToggleButt

我在
DataGrid
中有一个
扩展器

我想改为单击行为,但它需要知道它自己

然后,使用双击展开

我需要一个容易实现的方法


有什么想法吗?

如果你想双击展开/折叠
扩展器
,你可以处理它的
加载
事件,获取对
切换按钮
标题按钮的引用,然后像这样处理它的
预览鼠标左键下

private void Expander_Loaded(object sender, RoutedEventArgs e)
{
    Expander expander = sender as Expander;
    ToggleButton tb = FindVisualChild<ToggleButton>(expander);
    if (tb != null)
    {
        tb.PreviewMouseLeftButtonDown += (ss, ee) =>
        {
            ee.Handled = ee.ClickCount < 2;
        };
    }
}
private void Expander\u加载(对象发送方,路由目标)
{
扩展器=发送器作为扩展器;
ToggleButton tb=FindVisualChild(扩展器);
如果(tb!=null)
{
tb.PreviewMouseLeftButtonDown+=(ss,ee)=>
{
ee.Handled=ee.ClickCount<2;
};
}
}
XAML:

<Expander Header="Expand/Collapse..." Loaded="Expander_Loaded">
    <TextBlock>some content...</TextBlock>
</Expander>

一些内容。。。

非常感谢,你的答案很好。但是我有一个问题,我仍然需要单击一下将其设置为“IsSelected”,如果我使用这种方式,可以解决这个问题吗?我尝试在选择的
PreviewMouseLeftButtonDown
about expander'中添加代码,然后就可以了。