Я пытаюсь отобразить значение элемента списка в окне сообщения. Используемое мной событие click отображает только объект datarowview, а не фактическое строковое значение.
void bt_click(object sender, RoutedEventArgs e)
{
// MenuItem originalItem = (MenuItem)sender;
// MessageBox.Show(string.Format("clicked from \"{0}\"", originalItem.Name));
MenuItem clickedMenuItem = sender as MenuItem;
ContextMenu contextMenu = clickedMenuItem.Parent as ContextMenu;
DockPanel dockPanel = contextMenu.PlacementTarget as DockPanel;
ListBoxItem listBoxItem = GetVisualParent<ListBoxItem>(dockPanel);
MessageBox.Show(listBoxItem);
}
public static T GetVisualParent<T>(object childObject) where T : Visual
{
DependencyObject child = childObject as DependencyObject;
// iteratively traverse the visual tree
while ((child != null) && !(child is T))
{ child = VisualTreeHelper.GetParent(child);
}
return child as T;
}