【问题标题】:How to make s WPF menu look like a Windows Forms ToolStripMenu?如何使 WPF 菜单看起来像 Windows 窗体 ToolStripMenu?
【发布时间】:2011-06-30 07:11:26
【问题描述】:

我是 WPF 新手。新我的意思是我在获得 .net 3.5 后今天才开始使用它。我通常在 Windows 窗体中进行 GUI 开发,并且喜欢很棒的 ToolStripMenu。但是当我看到 WPF 菜单时,它是如此丑陋,以至于让我想起了我的 Win32 Api 日子。有什么方法可以改变 WPF 菜单的样式,使其看起来像 Windows 窗体菜单?

【问题讨论】:

  • 你是说这个(WinForms图片)code-magazine.com/…?
  • 是的。请注意菜单和工具栏上的精美渐变 Winforms
  • 我已经等了 20 分钟,但只有大约 12 次观看和 ONE RESPONSE? 所有人都死了吗?
  • 嘿嘿-是的,我认为每个人都死了..顺便说一句,是的,您可以使工具条看起来像表单之一-甚至更酷。您是否尝试过 wpf 工具条?
  • @burning:也许 [winforms] 只是不会吸引人群......

标签: c# .net wpf winforms windowsformshost


【解决方案1】:

试试这个:

样式和模板简介: http://msdn.microsoft.com/en-us/library/ms745683.aspx

工具栏的新样式 http://msdn.microsoft.com/en-us/library/aa970772.aspx

或者搜索 wpf 工具栏样式

编辑: 是的 - 但是添加一个这样的菜单并且工具栏会改变菜单样式(粘贴到新项目中):

<Grid>
<Grid.RowDefinitions>
  <RowDefinition Height="Auto"></RowDefinition>
  <RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<ToolBarTray >
  <ToolBar >
  <Menu>
    <MenuItem Header="Hey">
      <MenuItem Header="lo"></MenuItem>
    </MenuItem>
    <MenuItem Header="Ho">
      <MenuItem Header="la"></MenuItem>
    </MenuItem>
  </Menu>
</ToolBar>
</ToolBarTray>

【讨论】:

  • 我想了解菜单而不是工具栏。但这仍然有帮助。谢谢!
  • 太棒了,谢谢!我错了 WPF ,它甚至比 windows 窗体更好!点赞并打勾!
【解决方案2】:

菜单,与大多数 WPF 控件一样,默认情况下很少有样式。

但这只是默认设置,您可以添加自己的样式并轻松超越 WinForms。

只是一点点开始:

    <Menu DockPanel.Dock="Top" >
        <Menu.Background>
            <LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
                <GradientStop Color="White" Offset="0" />
                <GradientStop Color="Blue" Offset="1" />
            </LinearGradientBrush>
        </Menu.Background>
        <MenuItem Header="_File" >

【讨论】:

  • 谢谢!所以你甚至可以决定使用什么渐变!
  • 是的,你喜欢多少点和颜色就多少。还要看看 ImageBrush、RadialGradientBrush,... 并使用 Styles。
  • @HenkHolterman 对内存使用和性能有不良影响吗?
猜你喜欢
  • 1970-01-01
  • 2012-08-24
  • 2017-01-07
  • 1970-01-01
  • 2013-08-25
  • 2011-08-14
  • 2012-01-25
  • 2010-09-07
  • 2016-05-14
相关资源
最近更新 更多