gpt4 book ai didi

wpf - 如何将鼠标双击添加到数据网格项 wpf

转载 作者:行者123 更新时间:2023-12-05 01:11:32 27 4
gpt4 key购买 nike

在 Windows 窗体应用程序中,我们的数据 GridView 有很多事件,如行鼠标双击或行单击以及额外的......

但是在 WPF 中我找不到这些事件。我如何将行鼠标双击添加到其中包含数据网格的用户控件

我用了一些糟糕的方法,我使用了数据网格鼠标双击事件,并且以这种方式发生了一些错误但我想知道简单和标准的方法

我还在 row_load 事件中向数据网格项添加双击事件,但如果数据网格有大源,它似乎会使我的程序变慢

private void dataGrid1_LoadingRow(object sender, DataGridRowEventArgs e)
{
e.Row.MouseDoubleClick += new MouseButtonEventHandler(Row_MouseDoubleClick);
}

最佳答案

您可以处理双击 DataGrid 元素,然后查看事件源以找到被单击的行和列:

private void DataGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
DependencyObject dep = (DependencyObject)e.OriginalSource;

// iteratively traverse the visual tree
while ((dep != null) && !(dep is DataGridCell) && !(dep is DataGridColumnHeader))
{
dep = VisualTreeHelper.GetParent(dep);
}

if (dep == null)
return;

if (dep is DataGridColumnHeader)
{
DataGridColumnHeader columnHeader = dep as DataGridColumnHeader;
// do something
}

if (dep is DataGridCell)
{
DataGridCell cell = dep as DataGridCell;
// do something
}
}

我在 this blog post that I wrote 中对此进行了详细描述.

关于wpf - 如何将鼠标双击添加到数据网格项 wpf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10459090/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com