【问题标题】:How to detect a click on the selected row of a RadGridView control如何检测对 RadGridView 控件的选定行的单击
【发布时间】:2012-06-07 16:45:05
【问题描述】:

我的 WPF 应用程序在其一些屏幕上使用 Telerik RadGridView 控件。我有一个要求,即每当用户单击 RadGridView 中的一行时,我都应该切换到另一个屏幕并显示有关该行的详细信息。我为 SelectionChanged 事件连接了一个处理程序,这很有效,但如果用户再次单击选定的行,则不会发生任何事情。这是有道理的,因为选定的行没有被更改。

如何检测对同一行的第二次点击并显示第二个屏幕?

托尼

【问题讨论】:

  • 您找到解决方案了吗?

标签: wpf events routed-events


【解决方案1】:

您可以将处理程序附加到 GridView 上的 MouseUp 事件。检查是否有任何选定的单元格并从那里响应。即使已经有选择,它也会触发。

Mousedown事件将在鼠标上触发,但在GridView更新之前,在选择已经调整的选择时,鼠标向上会发射

您还可以将处理程序附加到代码隐藏中的每个单独的单元格,如下所示

(this.GridView as RadGridView).AddHandler(  
     GridViewCell.MouseUpEvent,  
     new EventHandler<Telerik.Windows.RadRoutedEventArgs>(this.OnMouseUp)); 

【讨论】:

  • 附加到每个单独的单元格将允许您避免在网格被第二次左键单击单元格外部的某个位置并没有导致选择更改时更新选择
  • 我完全忘记了这个问题。我在需要的表单上实现了MouseUp 事件处理程序。
【解决方案2】:

我认为您可以尝试通过MouseLeftButtonDown 事件或PreviewMouseLeftButtonDown 事件来实现这一目标。

【讨论】:

    猜你喜欢
    • 2021-11-08
    • 1970-01-01
    • 2013-05-19
    • 1970-01-01
    • 1970-01-01
    • 2014-10-28
    • 1970-01-01
    • 2013-12-05
    • 2012-08-29
    相关资源
    最近更新 更多