0

我的 WPF 应用程序中有一个 Xceed 数据网格,每个单元格都有一个OnClick事件。但是,我希望能够根据单元格是列标题还是单元格只是存储数据来处理该事件。如果有人对此有任何建议或经验,我将不胜感激。

4

2 回答 2

1
<Window.Resources>
<Style TargetType="xcdg:DataCell">
    <EventSetter Event="PreviewMouseLeftButtonDown" Handler="dataCellMouseLeftButtonDown"/>
</Style>
<Style TargetType="xcdg:ColumnManagerCell">
    <EventSetter Event="PreviewMouseLeftButtonDown" Handler="colManagerMouseLeftButtonDown"/>
</Style>
</Window.Resources>

<xcdg:DataGridControl ItemsSource="{Binding}"/>


 private void dataCellMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
 {
    MessageBox.Show("Left mouse button down on Cell");
 }

 private void colManagerMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
 {
   MessageBox.Show("Left mouse button down on Column manager cell");
 }

注意如果将预览事件替换为普通事件,则数据网格不会触发事件。它将自己处理这些鼠标事件(分别开始内联编辑和排序)。

于 2012-11-28T07:50:50.793 回答
0

你如何设置事件?您可以针对具有不同样式和事件的 datagridrow、datacell、columnheader 单元格。但是,您必须注意 Xceed 控件处理多个事件的事实,有时您必须使用事件的预览版本。

于 2012-11-27T20:54:51.163 回答