菜单项被单击,但谁是父项

本文关键字:单击 菜单项 | 更新日期: 2023-09-27 18:08:07

我是c#和WPF的新手,所以这个问题可能不太聪明。我花了一些时间才走到这一步,真的没有准备好面对跟随。

我的代码构建基于数据表的菜单。它创建了一个两层深的菜单。每次选择主项或子项时触发事件处理程序。但问题是,当子项目(子)被点击时,我应该知道主项目(父)。如何获得这些呢?这是当前的处理程序:

    private void menu_Click(object sender, RoutedEventArgs e)
    {
        string sub = "";
        sub = ((System.Windows.Controls.HeaderedItemsControl)(e.Source)).Header.ToString();
        MessageBox.Show("Selection: " + sub, "Info", MessageBoxButton.OK);
    }

我看到Item.Tag可能是解决方案,但我找不到方法。

菜单项被单击,但谁是父项

HeaderedItemsControl有一个Parent属性。这可用于检索元素,您的菜单项是该元素的子元素。