我有导航栏控件,一个NavBar
组包含网格控件。我想在网格控件的一列中的特定图像上获得单击事件,而在图像单击事件上,我必须显示一些菜单选项的弹出窗口。
我正在使用网格控件的预览鼠标左键向上事件来获得点击,但它不起作用,因为网格控件驻留在Navbar
控件中。
基本上我的问题是我无法单击网格控件列上的图像,而网格列本身位于一Navbar
组NavBar
控件中。
这个链接有我的演示项目。
任何帮助将不胜感激。
我有导航栏控件,一个NavBar
组包含网格控件。我想在网格控件的一列中的特定图像上获得单击事件,而在图像单击事件上,我必须显示一些菜单选项的弹出窗口。
我正在使用网格控件的预览鼠标左键向上事件来获得点击,但它不起作用,因为网格控件驻留在Navbar
控件中。
基本上我的问题是我无法单击网格控件列上的图像,而网格列本身位于一Navbar
组NavBar
控件中。
这个链接有我的演示项目。
任何帮助将不胜感激。
我看过你的演示项目,我认为下面的代码可以解决你的问题:-
私人无效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;
}
}
}
}
}
}