OnCelldouble点击我的gridview

时间:2014-09-05 01:18:20

标签: c# wpf double-click

我需要双击gridview中的单元格,每当我点击它时,它应该打开一个新窗口来编辑值。但是,在我的代码中,即使我有一个值,它也会返回null。我认为我的gridview的事件处理程序是不正确的。 Heres是消息"对象引用未设置为对象的实例。"

这是我的代码..

构造函数:

grdProducts.AddHandler(GridViewCellBase.CellDoubleClickEvent, 
                       new EventHandler<RadRoutedEventArgs>(OnCellDoubleClick), 
                       true);

点击活动:

private void OnCellDoubleClick(object sender, RadRoutedEventArgs e)
{
    Product product = (sender as Telerik.Windows.Controls.GridViewColumn).DataContext as Product;
    ShowProductWindow(product);

    //MessageBox.Show("test");
}

帮我解决一下。

1 个答案:

答案 0 :(得分:1)

您有该异常,因为您的发件人不属于Telerik.Windows.Controls.GridViewColumn类型。可能你的发件人是GridViewCell。尝试这样的事情:

private void OnCellDoubleClick(object sender, RadRoutedEventArgs e)
{
    var cell = e.Source as GridViewCell;
    if (cell == null) return;

    var row = cell.ParentRow as GridViewRow;
    if (row == null) return;

    Product product = row.DataContext as Product;
    ShowProductWindow(product);

    //MessageBox.Show("test");
}