2016-07-27 102 views
1

我最近开始使用WPF中的XAML,并且正在处理别人的代码。我试图重写一个下拉工具栏/菜单,由于某些显示问题,但下拉菜单创建为<Popup>。我觉得在技术上菜单不是一个真正的弹出...在xaml中创建下拉工具栏

所以我的问题是,是否适合使用弹出标签创建子/下拉菜单?或者它会更适合<stackPanel>还是别的? 谢谢

回答

1

正如有人已经指出,你可以使用组合框,并使其看起来像一个下拉菜单。你可以使用Popup来使它看起来像下拉菜单。两者都需要相当多的模板工作,但只要看起来像你想要的那样,我就不会有任何反对它的东西。

对于经典菜单&下拉菜单我只是使用Menu控件。 Here关于它的一些信息。根据您的情况,它可能只是一个简单的方法来从网站获得相同的结果

代码:

<Window x:Class="WpfTutorialSamples.Common_interface_controls.MenuSample" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MenuSample" Height="200" Width="200"> 
<DockPanel> 
    <Menu DockPanel.Dock="Top"> 
     <MenuItem Header="_File"> 
      <MenuItem Header="_New" /> 
      <MenuItem Header="_Open" /> 
      <MenuItem Header="_Save" /> 
      <Separator /> 
      <MenuItem Header="_Exit" /> 
     </MenuItem> 
    </Menu> 
    <TextBox AcceptsReturn="True" /> 
</DockPanel> 

+0

所以使用弹出式菜单为菜单是一个合适的选择?我想我会问一些来自HTML背景的问题,其中一些元素不适合某些功能,所以我不确定XAML的范围 – Whirlwind991

+0

我不知道情况,但通常我不会称它为“适当“。我想菜单控件有一些限制,所以他决定使用Popup来代替。您可能会认为,弹出式窗口的使用更像[that](https://wpf.2000things.com/tag/popup/page/2/)。 –

+0

是的,当然,这很好,谢谢你的快速概览! – Whirlwind991