2011-12-31 65 views
1

我有一個c#wpf問題。 我綁定了一個MenuItem列表,它是動態的。列表中的每個對象都是一個新的子菜單項目。Wpf強制MenuItem創建它的子項

所有的項目都是可檢查的,並執行選中和未選中的事件。 問題是,即使在用戶首次打開主菜單項之前,我希望顯示已選中和未選中的事件(它們似乎只在用戶第一次打開主菜單項時纔會添加,即使將添加項添加到綁定之前列出)。

我可以手動完成它(儘管看起來很可怕),但是當主菜單項第一次打開時,事件也會被調用,並且會造成混亂。

所以basiclly我需要一種方法來「強制」主MenuItem創建它的孩子,當我告訴它,以便選中和未選中的事件將工作。

我已經嘗試了一切,甚至UpdateLayout都不起作用。即使當我從WindowLoaded evet打開菜單時,我仍然需要在事件結束後保持打開狀態,並且只能創建子節點(我想我可以打開它並快速關閉它,以便用戶不會察覺它)。

我希望我的問題很清楚。

我提前感謝你。 :-)

+0

我想你的意思是「在用戶首次打開主MenuItem之前,我希望執行檢查和未檢查的事件」。 – Paparazzi 2011-12-31 15:02:16

回答

1

因爲它是菜單上的事件,所以它是有道理的。當你手動說出你在做什麼?我只會創建一個幫助器,並在負載和事件中調用它。創建一個私人列表布爾來存儲檢查的狀態,並且只有在狀態改變時才運行真實的事件代碼。