2
我創建一個WPF form.And菜單項的文本菜單,在運行時添加。 下面是XAML代碼片段添加上下文菜單:如何在運行時添加的上下文菜單項中獲取文本?
<Window.ContextMenu>
<ContextMenu AllowDrop="True" VerticalContentAlignment="Top" Opened="note_Opened" >
<MenuItem Header="View Notes" Click="MenuItemViewNotes_Click" Name="mainMenu" />
...............................
</ContextMenu>
</Window.ContextMenu>
菜單項中添加如下:
private void note_Opened(object sender, RoutedEventArgs e)
{
......... //some codes goes here
while(reader.Read()){
MenuItem newItem = new MenuItem();
newItem.Header = textEncrypt.DecryptString(reader[2].ToString());
// newItem.Click += new RoutedEventHandler(MenuItemViewNotes_Click);
mainMenu.Items.Add(newItem);
}
}
}
以下爲「MenuItemViewNotes_Click」的方法。我想要得到的coresponding指數在點擊菜單item.But我無法給予名稱或索引時,我將在上面method.Is有沒有辦法做到這一點的項目?
private void MenuItemViewNotes_Click(object sender, RoutedEventArgs e)
{
mainMenu.Items.Clear();
MenuItem mi = sender as MenuItem;
if (mi!= null)
{
MessageBox.Show(mi.Header.ToString());
}
}
在這裏我沒有得到任何出來put。我認爲這可能是一些在處理中的錯誤。
再下面是XAML代碼中調用了 「note_opend」 和 「MainItemViewNotes_click」 功能
<ContextMenu AllowDrop="True" VerticalContentAlignment="Top" Opened="note_Opened" >
<MenuItem Header="View Notes" Name="mainMenu" >
<MenuItem Header="note1" Click="MenuItemViewNotes_Click" IsCheckable="True"/>
</MenuItem>
<MenuItem Header="Settings" Click="MenuItemSettings_Click"/>
<MenuItem Header="Close" Click="MenuItemClose_Click"/>
</ContextMenu>
是的,我想這e.Source和e.OriginalSource.But後,他們給了我同樣計數每個菜單源item.I需要獲得不同的計數或索引,以便在運行時添加不同的菜單項。 – kalani 2011-04-08 03:29:21
不確定,然後交配 – 2011-04-08 07:40:26