我希望点击它来获取MenuItem
名称。
据我所知,我的Menu
中有两个MenuItem
(正如您所见)。
XAML:
<DockPanel Margin="0,-17,0,0">
<Menu DockPanel.Dock="Top">
<MenuItem Header="_Optionen">
<MenuItem Name="MI_1" Header="MI 1" Click="Set_MI"/>
<MenuItem Name="MI_2" Header="MI 2" Click="Set_MI"/>
</MenuItem>
</Menu>
<StackPanel></StackPanel>
</DockPanel>
C#:
private void Set_MI(object sender, RoutedEventArgs e)
{
var MI = sender as MenuItem;
switch (MI.Name)
我尝试转换object sender
中的MenuItem
,这会引发我的错误:
错误显示在Switch(MI.Name)
System.NullReferenceException:&#34;对象引用未设置为对象实例。&#34;
&#34; MI&#34;是&#34; null&#34;
顺便说一下。我不知道ToolStripMenuItem
是什么意思。
是否有任何propper解决方案可以转换object sender
中的MenuItem
/点击MenuItem
获取姓名?
答案 0 :(得分:2)
确保您使用的是System.Windows.Controls.MenuItem
,而不是其他类型的自定义MenuItem
类型:
private void Set_Speicherpfade(object sender, RoutedEventArgs e)
{
var MI = sender as System.Windows.Controls.MenuItem;
if (MI != null)
{
switch (MI.Name)
{
...
}
}
}