菜单项与列表中的菜单项

  • 本文关键字:菜单项 列表 wpf xaml
  • 更新时间 :
  • 英文 :


下面的代码从另一个 MenuItem 中的列表创建 MenuItems。我正在重新创建一个最近的文件选项,但是,它在生成子项时在另一个容器内创建一个容器。

<MenuItem Header="_Recent" Height="25" ItemsSource="{x:Static cl_resources:MenuActions.Recent}">
<MenuItem.Icon>
<Image Source="/Resources/Icons/MenuBar/list.ico" Height="25"/>
</MenuItem.Icon>
<MenuItem.ItemTemplate>
<DataTemplate>
<MenuItem Header="{Binding}" Click="MenuItem_Recent_Click" Height="25" Cursor="Hand">
<MenuItem.Icon>
<Image Source="/Resources/Icons/MenuBar/document.ico" Height="25"/>
</MenuItem.Icon>
</MenuItem>
</DataTemplate>
</MenuItem.ItemTemplate>
</MenuItem>

这是我得到的结果,我只想显示标记为 1 的内容并删除第 2 部分。

我希望这个问题足够清楚,谢谢。

DataTemplate中的MenuItem替换为 StackPanel、Grid 或任何您喜欢的面板。

已经问过一个类似的问题。基本上MenuItem.ItemTemplate不应该包含MenuItem。父菜单项会自动创建其子菜单项,并将其内容设置为指定的MenuItem.ItemTemplate

<DataTemplate>
<StackPanel Orientation="Horizontal" Click="MenuItem_Recent_Click" Height="25" Cursor="Hand">
<Image Source="/Resources/Icons/MenuBar/document.ico" Height="25"/>
<TextBlock Text="{Binding}"/>
</StackPanel>
</DataTemplate>

最新更新