当我使用Silverlight 4 Toolkit中的ContextMenu时,我希望得到ContextMenu实例的所有者,但是因为在ContextMenu类中它不可用所以Owner是一个内部属性。例如,我在Border中放置了一个Rectangle。当我右键单击一个Rectangle(并出现一个上下文菜单)时,我需要更改Rectangle Border的厚度,以指示Rectangle是父Grid的当前元素。所以我尝试使用ContextMenu.Loaded事件,我获得ContextMenu(通过sender参数),但我无法获得该ContextMenu的所有者(即带有边框的Rectangle)。我需要那个所有者使其边框更厚。请帮我找到解决方法。
答案 0 :(得分:1)
我发现唯一的灵魂就是将ContextMenu的DataContext设置为后面代码所需的元素。然后通过该DataContext属性解决打开上下文菜单的元素。