1

當我使用Silverlight 4工具包中的ContextMenu時,我想獲取ContextMenu實例的所有者,但由於在ContextMenu類中不可用,所有者是內部屬性。例如,我有一個矩形放在邊框內。例如,當我右鍵單擊矩形(並且出現上下文菜單)時,我需要更改矩形邊框的厚度,以指示矩形是父網格的當前元素。所以我嘗試使用ContextMenu.Loaded事件(我通過sender參數獲取ContextMenu),但我無法獲得該ContextMenu的所有者(即具有其邊框的Rectangle)。我需要這個所有者來使它的邊框變粗。請幫我找到辦法。如何獲取ContextMenu的所有者(來自Silverlight 4工具包)?

+0

也許你的意思是PlacementTarget屬性。 – vorrtex 2011-03-19 10:36:32

+0

to vorrtex:我無法在Silverlight中的ContextMenu成員中找到PlacementTarget屬性。它應該在Silverlight中存在,還是隻存在於WPF中? – Dmitriyz 2011-03-19 14:07:09

+0

@Dmitriyz我把Silverlight和WPF混淆了。但我知道該怎麼做:使用反射並閱讀專用字段_owner。 – vorrtex 2011-03-19 14:49:59

回答

1

我發現的唯一靈魂就是將ContextMenu的DataContext設置爲後面代碼中所需的元素。然後解決通過DataContext屬性打開上下文菜單的元素。

相關問題