gpt4 book ai didi

c# - WPF DataGrid 行以编程方式双击事件

转载 作者:IT王子 更新时间:2023-10-29 04:07:28 25 4
gpt4 key购买 nike

我需要以编程方式创建 DataGrid 并需要向其添加双击行事件。这是如何在 C# 中完成的?我找到了这个;

myRow.MouseDoubleClick += new RoutedEventHandler(Row_DoubleClick);

虽然这对我不起作用,因为我将 DataGrid.ItemsSource 绑定(bind)到一个集合,而不是手动添加行。

最佳答案

您可以在 XAML 中通过在其资源部分下添加 DataGridRow 的默认样式并在那里声明事件 setter 来做到这一点:

<DataGrid>
<DataGrid.Resources>
<Style TargetType="DataGridRow">
<EventSetter Event="MouseDoubleClick" Handler="Row_DoubleClick"/>
</Style>
</DataGrid.Resources>
</DataGrid>

万一想在后面的代码中做到这一点。在网格上设置 x:Name,以编程方式创建样式并将样式设置为 RowStyle。

<DataGrid x:Name="dataGrid"/>

在后面的代码中:

Style rowStyle = new Style(typeof(DataGridRow));
rowStyle.Setters.Add(new EventSetter(DataGridRow.MouseDoubleClickEvent,
new MouseButtonEventHandler(Row_DoubleClick)));
dataGrid.RowStyle = rowStyle;

有事件处理程序的例子:

  private void Row_DoubleClick(object sender, MouseButtonEventArgs e)
{
DataGridRow row = sender as DataGridRow;
// Some operations with this row
}

关于c# - WPF DataGrid 行以编程方式双击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22790181/

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