0
是否有可能在后面的代码中执行以下操作(在数据网格中设置头双击事件)?如果是,如何?我搜索的任何内容都没有显示可以访问数据网格标题的样式!如何设置数据网格中的头双击事件
<DataGrid ...>
<DataGrid.Resources>
<Style TargetType="DataGridColumnHeader">
<EventSetter Event="MouseDoubleClick" Handler="OnTableDoubleClick" />
</Style>
</DataGrid.Resources>
...
非常感谢。
编辑
其他的尝试后,我也试过这个从DataGrid中得到的CustomDataGrid类的构造函数:
Style _style = new Style(typeof(DataGridColumnHeader));
_style.BasedOn = Application.Current.Resources["DataGridColumnHeaderStyle"] as Style;
_style.Setters.Add(new EventSetter(MouseDoubleClickEvent, new MouseButtonEventHandler(OnTableDoubleClick)));
this.ColumnHeaderStyle = _style;
如果我也明白我这样做是应该添加双击事件的头部样式,但实际上它什么都不做,这意味着处理程序不会在运行时调用。
对不起,我的坏,因为速度我复制了错误的代码块。我其实是指DataGridColumnHeader。我更新了这个问题。无论如何,问题是我想从代码背后而不是从xaml做到这一点,它似乎并没有工作。 – user3346850
因此,你需要在代码后面显示你的代码,你已经尝试过并且不能工作。 –
为什么你在代码背后做这件事?你有资源已经在样式中声明。那么,为什么不在那里声明事件设置者。而且,你总是可以从XAML执行'BasedOn'。 –