如何使用双击而不是单击扩展器?
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>
我在 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>