0
我的應用程序包含TreeView
,它支持一組命令,但命令可能會在菜單間移動,只出現在某些菜單上,而不會出現在其他菜單上,在多個菜單上共享等。將ContextMenu項目動態綁定到靜態定義的MenuItems
我知道我在編譯時支持的所有命令的集合,因此理論上我可以在我的<TreeView.Resources>
部分中定義一個<MenuItem>
資源,其中每個資源都具有x:Key
屬性。但是,對於單擊的任何給定節點,只能在運行時確定出現的菜單項。我可以將ContextMenu.ItemsSource
綁定到我的應用程序中返回MenuItem[]
的東西,但爲了構建這個數組,我需要訪問靜態定義在XAML文件中的MenuItems。
我這樣做是錯的嗎?還是有辦法做我想做的事?
當我這樣做時,MenuItem看起來很有趣。它是拉長的,在MenuItem的左側和右側有大量的填充,我不知道爲什麼。下面是我添加了2個菜單項的示例。 http://i.imgur.com/O8is6O1.png 請注意,較暗的高光矩形特別奇怪。如果我將鼠標懸停在較暗的矩形邊界之外,它會消失。 這就像ContextMenu本身不知道如何正確確定尺寸。 –
出於某種原因,我必須在中使用,然後才能正常工作。我想否則它把MenuItem放在另一個MenuItem中?不知道它如何在幕後工作,但更改
上使用來得到它的效果。對了,我很抱歉,但我無法解釋這種行爲。 –
Chrille