c# - 通过绑定(bind)部分填充 MenuItem

标签 c# wpf xaml data-binding

我想使用自定义对象列表来生成菜单中的 MenuItems 列表,但在该菜单的底部我希望始终显示几个静态 MenuItems。从逻辑上讲,在我的脑海中,这可以通过以编程方式创建另一个列表来完成,该列表始终在底部具有那些 MenuItems 绑定(bind)到该列表,但这让我觉得有点天真。我确信有一种更优雅的方法可以使用我已经拥有的列表以及一些 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/

相关文章:

c# TCP 服务器接受文本和二进制

c# - SDL Tridion C# 代码片段无法在上下文中找到引擎、程序包或日志字段

c# - DataGrid 中的 WPF 绑定(bind)到 DataContext

c# - XAML 数据绑定(bind)在属性更改时不更新 UI

c# - 以编程方式向 WPF 4.5 中的 Grid RowDefition 添加控件

c# - StackTrace 中行号旁边的数字是什么意思?

c# - 如何配置 Autofac 以解析 CQRS 处理程序并在 Web API 项目中编写其查询调度程序

c# - 使用动态类型

wpf - 如何一次折叠所有XAML代码节?

c# - 如何将 ViewModel 属性绑定(bind)到转换器中的依赖属性