C# 将值从listboxitem转换为字符串
我正在尝试将listbox项值显示到msg box中。我使用的click事件仅显示datarowview对象,而不是实际的字符串值C# 将值从listboxitem转换为字符串,c#,wpf,xaml,listbox,contextmenu,C#,Wpf,Xaml,Listbox,Contextmenu,我正在尝试将listbox项值显示到msg box中。我使用的click事件仅显示datarowview对象,而不是实际的字符串值 void bt_click(object sender, RoutedEventArgs e) { // MenuItem originalItem = (MenuItem)sender; // MessageBox.Show(string.Format("clicked from \"{0}\"", originalItem.Name));
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;
}
void bt\u单击(对象发送方,路由目标)
{
//MenuItem originalItem=(MenuItem)发送方;
//Show(string.Format(“从\“{0}\”单击,originalItem.Name));
MenuItem clickedMenuItem=发件人作为MenuItem;
ContextMenu ContextMenu=clickedMenuItem.Parent作为ContextMenu;
DockPanel DockPanel=contextMenu.PlacementTarget作为DockPanel;
ListBoxItem ListBoxItem=GetVisualParent(dockPanel);
MessageBox.Show(listBoxItem);
}
公共静态T GetVisualParent(对象子对象),其中T:Visual
{
DependencyObject子对象=作为DependencyObject的子对象;
//迭代遍历可视化树
while((child!=null)&&&!(child是T))
{child=visualtreeheloper.GetParent(child);
}
返回子对象作为T;
}
尝试ListBoxItem.Content
属性。您必须将其转换为字符串才能在Messagebox中发布。到目前为止,您已经问了9个问题,但没有选择任何答案。请接受一些答案。@user644194-您可以通过单击复选框大纲来接受答案,而不是通过投票来接受答案。您需要按勾号图标来接受答案。@user644194-它仍然提供数据行视图