3

我有导航栏控件,一个NavBar组包含网格控件。我想在网格控件的一列中的特定图像上获得单击事件,而在图像单击事件上,我必须显示一些菜单选项的弹出窗口。

我正在使用网格控件的预览鼠标左键向上事件来获得点击,但它不起作用,因为网格控件驻留在Navbar控件中。

基本上我的问题是我无法单击网格控件列上的图像,而网格列本身位于一NavbarNavBar控件中。

这个链接有我的演示项目。

任何帮助将不胜感激。

4

1 回答 1

4

我看过你的演示项目,我认为下面的代码可以解决你的问题:-

私人无效gridControl1_PreviewMouseDown(对象发送者,MouseButtonEventArgs e){

TableViewHitInfo hit = tableView1.CalcHitInfo(e.OriginalSource as DependencyObject);

if (hit.InRowCell) {

 gridControl1.View.FocusedRowHandle = hit.RowHandle;

   if (e.ClickCount == 1)

    {  
      if (e.XButton1 == MouseButtonState.Released)
        {

           if (hit.Column.FieldName == "number")
               {
                      var row = gridControl1.GetFocusedRow();
                      data d = (data)row;
                      MessageBox.Show(d.number.ToString());
                      x = d.number;
                    }
                    if (e.RightButton == MouseButtonState.Pressed)
                    {
                        if (hit.Column.FieldName == "image")
                        {
                            gridControl1.View.FocusedRowHandle = hit.RowHandle;
                            var row = gridControl1.GetFocusedRow();
                            data d = (data)row;
                            x = d.number;

                            popup.StaysOpen = true;
                            popup.IsEnabled = true;
                            popup.IsOpen = true;

                        }
                    }
                }
            }

        }
    }
于 2013-08-17T09:58:57.270 回答