C# 动态上下文菜单

C# 动态上下文菜单,c#,xml,xaml,C#,Xml,Xaml,我有个问题。单击菜单项标题后:“System.XML.xmlement” 有人能告诉我我做错了什么吗 IpLisr.xml <?xml version="1.0" encoding="utf-8" ?> <IPList> <header Name="1" Click="1" Tag="1">192.168.0.100</header> <header Name="2" Click="2">192.168.0.101</he

我有个问题。单击菜单项标题后:“System.XML.xmlement”

有人能告诉我我做错了什么吗

IpLisr.xml

<?xml version="1.0" encoding="utf-8" ?>
<IPList>
  <header Name="1" Click="1" Tag="1">192.168.0.100</header>
  <header Name="2" Click="2">192.168.0.101</header>
  <header Name="3" Click="3">192.168.0.102</header>  
</IPList>

您收到了什么错误消息?看起来菜单项标题是Assigned XMLElement值而不是string值。然后使用default-ToString()方法将其转换为字符串,默认情况下,该方法返回类型名称“System.XML.xmlement”。您会收到什么错误消息?看起来菜单项标题是分配的xmlement值,而不是字符串值。然后使用默认的ToString()方法将其转换为字符串,默认情况下,该方法返回类型名“System.XML.xmlement”。
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <XmlDataProvider x:Key="XMLMenu" Source="IPList.xml" XPath="IPList/header"/>    
</ResourceDictionary>
<MenuItem Header="IP" DataContext="{StaticResource XMLMenu}" ItemsSource="{Binding}" Click="MenuItem_Click_IP"/>
private void MenuItem_Click_IP(object sender, RoutedEventArgs e)
{
  MenuItem obMenuItem = e.OriginalSource as MenuItem;
  MessageBox.Show(String.Format("{0} just said Hi!", obMenuItem.Header)); 
  // Need a header of IPList.xml. How get that? 
}