将WPF TreeView转换为Menu

| 我在将此工作树视图转换为菜单时遇到麻烦。 此树视图正确显示。
<UserControl.DataContext>
    <ObjectDataProvider ObjectType=\"{x:Type storage:Database}\"
                        MethodName=\"GetGroups\"/>
</UserControl.DataContext>
<UserControl.Resources>
    <converters:PathToNameConverter x:Key=\"pathToNameConverter\" />
</UserControl.Resources>
<TreeView Name=\"TreeViewMain\" ItemsSource=\"{Binding Path=.}\">
    <TreeView.Resources>
        <HierarchicalDataTemplate DataType=\"{x:Type storage:File}\">
            <TreeViewItem Header=\"{Binding Path=Name, Mode=TwoWay}\" />
        </HierarchicalDataTemplate>
        <HierarchicalDataTemplate DataType=\"{x:Type storage:Group}\">
            <TreeViewItem>
                <TreeViewItem.Header>
                    <StackPanel Grid.Row=\"0\" Orientation=\"Horizontal\">
                        <Image Source=\"../Images/Core/16x16/Folder.png\" />
                        <TextBlock Text=\"{Binding Path=Name, Mode=TwoWay}\"/>
                    </StackPanel>
                </TreeViewItem.Header>
                <ItemsControl ItemsSource=\"{Binding Path=Groups}\" />
                <ItemsControl ItemsSource=\"{Binding Path=Files}\" />
            </TreeViewItem>
        </HierarchicalDataTemplate>
    </TreeView.Resources>
</TreeView>
我将所有内容都更改为“菜单”,但它不起作用。有组名和图像,并带有指向右箭头的箭头,看起来好像正在工作,但是单击它不会展开。
<UserControl.DataContext>
    <ObjectDataProvider ObjectType=\"{x:Type storage:Database}\"
                        MethodName=\"GetGroups\"/>
</UserControl.DataContext>
<Menu Name=\"MenuMain\" ItemsSource=\"{Binding Path=.}\">
    <Menu.Resources>
        <HierarchicalDataTemplate DataType=\"{x:Type storage:File}\">
            <MenuItem Header=\"{Binding Path=Name, Mode=TwoWay}\" />
        </HierarchicalDataTemplate>
        <HierarchicalDataTemplate DataType=\"{x:Type storage:Group}\">
            <MenuItem>
                <MenuItem.Header>
                    <StackPanel Grid.Row=\"0\" Orientation=\"Horizontal\">
                        <Image Source=\"../Images/Core/16x16/Folder.png\" />
                        <TextBlock Text=\"{Binding Path=Name, Mode=TwoWay}\" />
                    </StackPanel>
                </MenuItem.Header>
                <ItemsControl ItemsSource=\"{Binding Path=Groups}\" />
                <ItemsControl ItemsSource=\"{Binding Path=Files}\" />
            </MenuItem>
        </HierarchicalDataTemplate>
    </Menu.Resources>
</Menu>
我究竟做错了什么?     
已邀请:
我并没有真正看过您做错了什么,我将发布可以使用的代码。
<Menu ItemsSource=\"{Binding Menus}\" Name=\"menu\" Height=\"20\">        
    <Menu.ItemTemplate>
        <HierarchicalDataTemplate ItemsSource=\"{Binding Items}\" DataType=\"{x:Type plugin:MenuEntry}\">
            <HierarchicalDataTemplate.ItemContainerStyle>
                <Style TargetType=\"MenuItem\">
                    <Setter Property=\"Command\" Value=\"{Binding Command}\" />
                    <Setter Property=\"Icon\" Value=\"{Binding Icon}\" />
                    <Setter Property=\"InputGestureText\" Value=\"{Binding InputGestureText}\" />
                    <Setter Property=\"IsCheckable\" Value=\"{Binding IsCheckable}\" />
                    <Setter Property=\"IsChecked\" Value=\"{Binding IsChecked}\" />

                    <!-- Handle separators -->
                    <Style.Triggers>
                        <DataTrigger Binding=\"{Binding Header}\" Value=\"[Separator]\">
                            <Setter Property=\"Template\">
                                <Setter.Value>
                                    <ControlTemplate>
                                        <Separator />
                                    </ControlTemplate>
                                </Setter.Value>
                            </Setter>
                        </DataTrigger>
                    </Style.Triggers>
                </Style>                    
            </HierarchicalDataTemplate.ItemContainerStyle>
            <ContentControl Content=\"{Binding Header}\"/>                
        </HierarchicalDataTemplate>
    </Menu.ItemTemplate>
</Menu>
菜单绑定到具有所有属性(如页眉,图标等)的对象的简单集合。它们还具有包含子项的Items属性。 它并不是您要找的东西,但也许您可以修复它。我记得尝试过像您一样的方法,并且失败很严重。 Menu会自己生成MenuItem对象(并且您试图在其中添加另一个对象-您一定不能这样做,只需要设置其样式即可),这两个ItemsControls对我来说似乎有点怪异(尽管我了解您需要它们)。     

要回复问题请先登录注册