WPF中的动态菜单项

WPF中的动态菜单项,wpf,menu,observablecollection,Wpf,Menu,Observablecollection,有没有一种方法可以在菜单上创建一个部分,以便用类似ObservableCollection的内容填充菜单项列表 我想复制VisualStudio中的窗口功能,其中打开的文档选项卡列在编号列表中,仅限于前10个 您的菜单现在如何获取数据?它是数据绑定的吗?选中此项可将菜单与集合绑定 现在,您可以在向集合添加项时添加逻辑 例如:在您的场景中,您必须将打开的文档存储在列表中。然后,您必须筛选出前10个文档,并将其添加到文章中指定的MenuItem类的children属性中。您可以在代码中创建菜单项,并

有没有一种方法可以在菜单上创建一个部分,以便用类似ObservableCollection的内容填充菜单项列表


我想复制VisualStudio中的窗口功能,其中打开的文档选项卡列在编号列表中,仅限于前10个

您的菜单现在如何获取数据?它是数据绑定的吗?选中此项可将菜单与集合绑定

现在,您可以在向集合添加项时添加逻辑


例如:在您的场景中,您必须将打开的文档存储在列表中。然后,您必须筛选出前10个文档,并将其添加到文章中指定的MenuItem类的children属性中。

您可以在代码中创建菜单项,并在加载表单时手动将其添加到菜单中。它并不优雅,但它完成了任务。

请参阅“合并上下文菜单”。您可以通过搜索CompositeCollection和menu/ContextMenu来查找更多信息


编辑:刚才看到一条评论中已经提到了CompositeCollection,但我将把它留在这里作为参考。

Hmm,真有点糟糕,我不得不把静态菜单项和非静态菜单项放在一起。如果我没有得到任何纯WPF解决方案,我会接受这一正确答案。我真的觉得,既然微软在他们自己的IDE中使用了这个功能,那么他们会将它更多地构建到WPF中,至少用几个转换器或其他什么东西。@mattdekrey:什么是纯WPF解决方案?为什么这不是一个纯粹的WPF解决方案呢?它是WPF+C#-我希望通过数据绑定来完成这一切,而不需要任何额外的自定义代码。我真的希望保持我的表示层声明性(WPF的要点),以减少我的支持类中的逻辑。有一个CompositeCollection(),可用于将静态项与XAML中内联的可观察集合合并,这是一个纯XAML解决方案。(显然我在之前的评论中将“WPF”和“XAML”混淆了。)@StephaneRolland似乎是的。当我超链接时,一切都很好。