我正在尝试使用绑定创建动态菜单.我的viewmodel我有一个包含标题和命令的对象列表.但是,它不起作用.我认为问题出在数据模板中.请参阅下面的代码:
<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>
Run Code Online (Sandbox Code Playgroud)
结果仅显示第一个菜单.子菜单没有显示,但它们在那里,因为菜单有子项,箭头在菜单标题后打印.
任何人都可以在绑定上发现错误吗?还是有什么建议吗?
仅供参考,MenuItems是一个MenuItemViewModel对象列表,它有一个标题和一个名为MenuItems的MenuItemViewModel对象(子菜单)列表.