我想使用自定义对象列表在菜单中生成MenuItems列表,但是在该菜单的底部,我希望始终显示几个静态MenuItems。从逻辑上讲,这可以通过以编程方式创建另一个要绑定的列表来完成,该列表始终将那些MenuItems放在底部,但这让我感到有些天真。我敢肯定,对于已经存在的列表以及一些XAML向导,可能还有某种DataTemplate,还有一种更优雅的方法。有指针吗?
最佳答案
就像McGarnagle所说的那样,您可以使用CompositeCollection。但是,您不需要为固定菜单项创建资源。您可以将它们直接放置在CompositeCollection中,如下所示:
<Menu>
<Menu.ItemsSource>
<CompositeCollection>
<CollectionContainer Collection="{Binding Path=MyItems}" />
<Separator/>
<MenuItem Header="Fixed item 1" />
<MenuItem Header="Fixed item 2" />
</CompositeCollection>
</Menu.ItemsSource>
</Menu>
关于c# - 通过绑定(bind)部分填充MenuItem,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17599584/