我想在WPF DataGrid中创建一个动态的上下文菜单。以下是我需要帮助的问题:C#WPF上下文菜单数据绑定
1)当子菜单正常工作时,根菜单项标题不与ViewModel绑定。
2)子菜单总是弹出在左侧而不是右侧。我怎样才能解决这个风格?
<DataGrid.ContextMenu>
<ContextMenu ItemsSource="{Binding PackageCM.Members}" HasDropShadow="True" Placement="Right">
<ContextMenu.ItemContainerStyle>
<Style TargetType="MenuItem">
<Setter Property="Header" Value="{Binding CategoryName}" />
</Style>
</ContextMenu.ItemContainerStyle>
<ContextMenu.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Items}">
<MenuItem Header="{Binding DisplayName}" Command="{Binding AllPackagesVM.OpenCOBAPackageCommand, Source={StaticResource Locator}}"></MenuItem>
</HierarchicalDataTemplate>
</ContextMenu.ItemTemplate>
</ContextMenu>
Root Menu Item Header are not being bind.
基本上,上下文菜单被结合PackageCM.Members与具有类别对象的列表,我想显示在上下文菜单根类别名称。接下来,每个类别都包含一个项目列表,这些项目将显示为子菜单。
在此先感谢您的帮助。
非常感谢你,Redouane。它运行良好,现在我可以看到ContextMenu正确显示。此外,现在我明白了ContextMenu是如何与子菜单一起工作的。 –