2011-12-31 26 views
1

我有一个c#wpf问题。 我绑定了一个MenuItem列表,它是动态的。列表中的每个对象都是一个新的子菜单项目。Wpf强制MenuItem创建它的子项

所有的项目都是可检查的,并执行选中和未选中的事件。 问题是,即使在用户首次打开主菜单项之前,我希望显示已选中和未选中的事件(它们似乎只在用户第一次打开主菜单项时才会添加,即使将添加项添加到绑定之前列出)。

我可以手动完成它(尽管看起来很可怕),但是当主菜单项第一次打开时,事件也会被调用,并且会造成混乱。

所以basiclly我需要一种方法来“强制”主MenuItem创建它的孩子,当我告诉它,以便选中和未选中的事件将工作。

我已经尝试了一切,甚至UpdateLayout都不起作用。即使当我从WindowLoaded evet打开菜单时,我仍然需要在事件结束后保持打开状态,并且只能创建子节点(我想我可以打开它并快速关闭它,以便用户不会察觉它)。

我希望我的问题很清楚。

我提前感谢你。 :-)

+0

我想你的意思是“在用户首次打开主MenuItem之前,我希望执行检查和未检查的事件”。 – Paparazzi 2011-12-31 15:02:16

回答

1

因为它是菜单上的事件,所以它是有道理的。当你手动说出你在做什么?我只会创建一个帮助器,并在负载和事件中调用它。创建一个私人列表布尔来存储检查的状态,并且只有在状态改变时才运行真实的事件代码。