Преобразовать значение из списка в строку - PullRequest
0 голосов
/ 27 июля 2011

Я пытаюсь отобразить значение элемента списка в окне сообщения. Используемое мной событие 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;
}

1 Ответ

2 голосов
/ 27 июля 2011

Попробуйте ListBoxItem.Content Свойство. Вы должны привести его к строке, чтобы выдать ее в окне сообщений.

...