gpt4 book ai didi

wpf - WPF 中带有水平子菜单的水平菜单

转载 作者:行者123 更新时间:2023-12-04 13:49:52 24 4
gpt4 key购买 nike

我一直在与 WPF Menu 作斗争,我根本无法实现我想要的。

我尝试更改 MenuMenuItem 控件的默认样式,但结果很糟糕。然后我尝试通过使用控件模板来设计它的样式,但是,我想我开始意识到我的 WPF 技能还不具备。

这是我想要的结果的图片:

enter image description here

有没有人可以为我指明正确的方向?或者可以帮助我使用一些 xaml 来实现我想要的结果?

最佳答案

您可以将 ItemsPanel 设置为水平方向,如下所示:

<Menu.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</Menu.ItemsPanel>

因为 MenuMenuItem 都派生自 ItemsControl。

完整示例:

<Menu Width="100" 
Height="30"
Margin="10"
VerticalAlignment="Top"
HorizontalAlignment="Left"
Background="White"
BorderBrush="Blue"
BorderThickness="1">

<Menu.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</Menu.ItemsPanel>

<MenuItem Header="_ITEM1">
<MenuItem.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</MenuItem.ItemsPanel>

<MenuItem Header="_SUBMENU1" IsCheckable="true"/>
<MenuItem Header="_SUBMENU2" IsCheckable="true"/>
<MenuItem Header="_SUBMENU3" IsCheckable="true"/>

<Separator/>
</MenuItem>

<MenuItem Header="_ITEM2">
<MenuItem Header="Undo"/>
<MenuItem Header="Redo"/>
<Separator/>
<MenuItem Header="Cut"/>
<MenuItem Header="Copy"/>
<MenuItem Header="Paste"/>
</MenuItem>
</Menu>

输出

enter image description here

关于wpf - WPF 中带有水平子菜单的水平菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21813348/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com