如何使WPF菜单看起来像Windows窗体ToolStripMenu?

时间:2011-06-30 07:11:26

标签: c# .net wpf winforms windowsformshost

我是WPF的新手。新的我的意思是我在获得.net 3.5之后立即开始了它。我通常在Windows窗体中进行GUI开发,就像真棒ToolStripMenu一样。但是当我看到WPF菜单时,它太丑了,它让我想起了我的Win32 Api时代。有没有办法改变WPF菜单的样式,使其看起来像Windows窗体菜单?

2 个答案:

答案 0 :(得分:6)

试试这个:

造型和模板介绍: 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>

答案 1 :(得分:1)

与大多数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" >