Я пытаюсь определить, нажал ли пользователь правой кнопкой мыши на существующую запись списка или пустую часть, чтобы включить или отключить элементы контекстного меню.
В WinForms (для просмотра данных) я смог сделать
var result = DGVTasks.HitTest(e.X, e.Y);
bool existingRowSelected = result .Type == DataGridViewHitTestType.Cell;
в обзоре данных. Сейчас в WPF я пробовал
Point pt = e.GetPosition((UIElement)LBXWorkflow);
HitTestResult result = VisualTreeHelper.HitTest(LBXWorkflow, pt);
Result.VisualHit показывает текстовое поле, если я щелкаю на существующем тексте, но границу, если я нажимаю на пустое место до или после текста в существующей строке (который вернул бы ложный минус, если бы я использовал его, чтобы определить, была ли запись правильной щелкнул).
Есть идеи как для Listbox, так и для DataGrid?