Как получить событие одного клика на изображении в столбце DevExpress Grid Control с помощью wpf?
У меня есть панель навигации и один NavBar
Группа содержит сетку управления. Я хочу получить событие отдельного щелчка на определенном изображении, которое находится в одном столбце элемента управления сеткой, и на событии щелчка на изображении я должен показать всплывающее окно для некоторых пунктов меню.
Я использую событие предварительного просмотра левой кнопкой мыши для элемента управления сетки, чтобы получить щелчок, но это не работает, потому что элемент управления сеткой находится в Navbar
контроль.
В основном моя проблема в том, что я не могу получить один щелчок по изображению, которое находится в столбце элемента управления сеткой, а сам столбец сетки находится в одном Navbar
группа NavBar
Контроль.
По этой ссылке есть мой демонстрационный проект.
Любая помощь будет оценена.
1 ответ
Я видел ваш демонстрационный проект, и я думаю, что приведенный ниже код решит вашу проблему: -
private void 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;
}
}
}
}
}
}