我想通過單擊它來獲取MenuItem
名稱。通過單擊事件獲取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
會拋出我這個錯誤:
The error Shows up at Switch (MI.Name)
System.NullReferenceException: "The object reference was not set to an object instance."
"MI" is "null"
Btw。我不知道ToolStripMenuItem
是什麼意思。
是否有任何propper解決object sender
轉換在MenuItem
/通過點擊MenuItem
得到名稱?
你的意思是什麼_「不工作」 _?它拋出異常,給出一些錯誤,而不是預期的價值? – SeM
對於WPF,有[MenuItem](https://msdn.microsoft.com/en-us/library/system.windows.controls.menuitem(v = vs.110).aspx),並有[ToolStripMenuItem] (https://msdn.microsoft.com/en-us/library/system.windows.forms.toolstripmenuitem(v=vs.110).aspx),用於WinForms。你有一個WPF標籤,但在代碼中使用'ToolStripMenuItem'。請首先澄清。另外,「不爲我工作」太模糊,你是否得到一個錯誤? –
如果我懷疑是真的,並且它是一個錯誤投射的簡單情況,只需嘗試'var MI = sender作爲MenuItem;開關(MI.Name)' –