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

How to use double-click instead click of expander?

我在 DataGrid 中有一个 Expander

我想改为单击行为,但它需要知道 IsSelected 本身。

然后,使用双击展开。

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

有什么想法吗?

如果您想 double-click 到 expand/collapse Expander,您可以处理它的 Loaded 事件,获取对 ToggleButton 的引用 header 按钮,然后像这样处理它的 PreviewMouseLeftButtonDown

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

XAML:

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