在WPF中获取ContextMenu.ItemsSource生成的MenuItem的文本

时间:2012-01-05 09:37:34

标签: c# wpf contextmenu menuitem

我在ContextMenu中有一个MenuItem的Click方法。在这种方法中,我需要单击项目的文本。

这是代码:

private void menuItemKostenstellen_Click(object sender, RoutedEventArgs e) { }

我已经尝试过使用e.Source,但是没有用。

我怎么能得到这个?

3 个答案:

答案 0 :(得分:1)

试试这个

private void menuItemKostenstellen_Click(object sender, RoutedEventArgs e)
        {
            MenuItem mi = sender as MenuItem;
            string title = mi.Header.ToString();
        }

答案 1 :(得分:1)

使用以下内容:

<ContextMenu Name="conKostenstelle" >
 <MenuItem Header="Kostenstellen" Name="menuItemKostenstellen">
    <MenuItem.ItemContainerStyle>
        <Style TargetType="{x:Type MenuItem}">
            <EventSetter Event="Click" Handler="MenuItem_Click" />
        </Style>
    </MenuItem.ItemContainerStyle>

 </MenuItem>
</ContextMenu>

 LinkedList<String> kliste = kosrep.GetKostenstellen();

menuItemKostenstellenunter.ItemsSource = kliste;

答案 2 :(得分:0)

在所有MenuItems上使用ItemContainerStyle属性进行Click事件

<ContextMenu>
    <ContextMenu.ItemContainerStyle>
        <Style TargetType="{x:Type MenuItem}">
            <EventSetter Event="Click" Handler="MenuItem_Click" />
        </Style>
    </ContextMenu.ItemContainerStyle>
</ContextMenu>