2015-08-16 54 views
0

我是新來的C#和WPF,所以這可能不是那麼聰明的問題。我花了一些時間把它弄到這麼遠,真的不準備面對下面的事情。Menuitem被點擊但是父母是誰?

我的代碼確實建立基於數據表菜單。它創建了一個深達兩層的菜單。每次選擇主或子項目時都會觸發事件處理程序。但麻煩的是,當子項(子)被點擊時,我應該知道主項目(父項)。如何獲得?這是當前處理程序:

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可能是解決方案,但我找不到方法。

回答

0

的HeaderedItemsControl有Parent屬性。這可用於檢索您的菜單項是其子項的元素。

+0

您可能想要將此更改爲更多的答案而不是建議。可能添加一個關於Parent屬性用途的描述,以及它如何應用於這種情況。 – Ben

+0

找到父項屬性,但是是非公開成員。我嘗試讀取事件處理程序中的值,但我不管理它。 – Kahio

+0

它絕對是一個公共財產。請參閱文檔[HeaderedItemsControl](https://msdn.microsoft.com/en-us/library/system.windows.controls.headereditemscontrol(v = vs.110).aspx) –