如何将数据绑定到WPF中的I组?

如何将数据绑定到WPF中的I组?,wpf,data-binding,menu,menuitem,recursive-databinding,Wpf,Data Binding,Menu,Menuitem,Recursive Databinding,我很难做到这一点,我对所有需要使用的模板都感到困惑。情况是这样的 我想动态创建一个菜单。代码获取对象列表,对列表进行分组,然后设置菜单的itemsource navBarControl.NavBarMain.ItemsSource = newActions.GroupBy(Function(p) p.GroupName) 我需要在XAML中模板和数据绑定方面的帮助。我希望创建一个菜单,上面的项是组键,每个键的子项是项本身 然后我需要为每个子项设置一个click处理程序,这样我就可以在菜单项cl

我很难做到这一点,我对所有需要使用的模板都感到困惑。情况是这样的

我想动态创建一个菜单。代码获取对象列表,对列表进行分组,然后设置菜单的itemsource

navBarControl.NavBarMain.ItemsSource = newActions.GroupBy(Function(p) p.GroupName)
我需要在XAML中模板和数据绑定方面的帮助。我希望创建一个菜单,上面的项是组键,每个键的子项是项本身

然后我需要为每个子项设置一个click处理程序,这样我就可以在菜单项click上执行代码


这对我来说很难做到。有人能提供一个XAML示例来说明这是如何工作的吗?

经过一些实验和一点运气,我终于找到了一个解决方案。我希望这能帮助其他人解决这个问题。总而言之,我想绑定到一个数据源(分组),该数据源有子数据源(可能是孙子数据源),并动态构建菜单。挑战是将菜单项单击事件路由到单个事件处理程序。这是我想到的

<!-- Common handler for ALL menu items. This was a tough one to figure out since I kept thinking this had to be done the template somehow -->
    <Menu MenuItem.Click="navView_Click" >
        <Menu.ItemTemplate>
            <HierarchicalDataTemplate ItemsSource="{Binding}">
                <!-- Content presenter for the list of IGrouping objects. Binding is done to the Key property on the IGrouping class -->
                <ContentPresenter Content="{Binding Path=Key}"></ContentPresenter>
                <HierarchicalDataTemplate.ItemTemplate>
                    <DataTemplate>
                        <!-- Content presenter for the list of objects in each grouping. Binding is done to the Name property on the custom class -->
                        <ContentPresenter Content="{Binding Path=Name}"></ContentPresenter>
                    </DataTemplate>
                </HierarchicalDataTemplate.ItemTemplate>
            </HierarchicalDataTemplate>
        </Menu.ItemTemplate>
    </Menu> 
navBarControl.NavBarMain.ItemsSource = newActions.GroupBy(Function(p) p.GroupName)

navBarControl.NavBarMain.ItemsSource = newActions.GroupBy( p => p.GroupName);