如何从 MenuItem 完全自定义弹出窗口?
我在 XAML 中有正常的菜单。我想完全改变单击菜单项时显示的弹出窗口的外观。
我正在寻找这样的东西:
<Menu>
<MenuItem Header="MyCustomMenu">
<MenuItem.PopupTemplate>
<ControlTemplate>
<Image Source="SexyImage"/>
</ControlTemplate>
</MenuItem.PopupTemplate>
</MenuItem>
</Menu>
I have normal menu in XAML. And I would like to completely change looks of the popup that gets displayed when you click on menu item.
I'm looking for something like this:
<Menu>
<MenuItem Header="MyCustomMenu">
<MenuItem.PopupTemplate>
<ControlTemplate>
<Image Source="SexyImage"/>
</ControlTemplate>
</MenuItem.PopupTemplate>
</MenuItem>
</Menu>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要覆盖
MenuItem
的模板,因为弹出窗口是其中的一部分,请查看 默认模板 了解模板的外观。MenuItem
有一个TemplatePartAttribute
用于所述弹出窗口。You need to override the template of the
MenuItem
since the Popup is a part of it, have a look at the default templates to get an idea of what a template should look like.MenuItem
has aTemplatePartAttribute
for said popup.在应用程序的资源中定义以下样式:
MenuItem 样式覆盖的示例:
ContextMenu 样式覆盖:
Define following styles in resources of your application:
An example of style overriding for MenuItem:
ContextMenu styles overriding: