WPF - Comment puis-je créer un menu et sous-menus à l'aide de la liaison

Je suis en train de créer un menu dynamique à l'aide de la liaison. J'ai mon viewmodel j'ai une liste d'objets qui contient un en-tête et une commande. Cependant, il n'est pas de travail. Je pense que le problème est dans le modèle de données. Voir mon code ci-dessous:

<Menu Background="{x:Null}" Grid.Row="0" Grid.Column="1" Panel.ZIndex="2" Width="865" Height="85" HorizontalAlignment="Left" ItemsSource="{Binding Path=MenuItems}">

        <Menu.ItemTemplate>
            <HierarchicalDataTemplate DataType="MenuItemViewModel" ItemsSource="{Binding Path=MenuItems}">
                <MenuItem Header="{Binding Header}" Style="{DynamicResource MenuItemStyle1}" ItemsSource="{Binding Path=MenuItems}" Padding="10,12,10,0" Height="44.1" Margin="30,0,0,0" FontWeight="Bold">
                    <MenuItem.ItemsPanel>
                        <ItemsPanelTemplate>
                            <VirtualizingStackPanel Orientation="Horizontal"/>
                        </ItemsPanelTemplate>
                    </MenuItem.ItemsPanel>
                </MenuItem>
                <HierarchicalDataTemplate.ItemTemplate>
                    <DataTemplate>
                        <MenuItem Header="{Binding Header}" Style="{DynamicResource MenuItemStyle1}" Padding="0,8,0,0" Height="38">
                        </MenuItem>
                    </DataTemplate>
                </HierarchicalDataTemplate.ItemTemplate>
            </HierarchicalDataTemplate>
        </Menu.ItemTemplate>            
    </Menu>

Le résultat ne montre que le premier menu. Les sous-menus ne sont pas affichés, mais ils sont là depuis les menus qui ont des enfants, la flèche est de l'impression après le menu d'en-tête.

Pourrait-on trouver quelque chose de mal sur la liaison? Ou une suggestion?

Juste pour information, MenuItems est une liste de MenuItemViewModel objets qui possède un en-tête et une liste de MenuItemViewModel objets (sous-menus) appelé MenuItems trop.

OriginalL'auteur Jannibelli | 2014-05-29