当前位置:   article > 正文

WPF之工具栏菜单栏功能区。_wpf 菜单栏

wpf 菜单栏

1,菜单栏,工具栏,状态栏。

        1.1,Menu中可添加菜单分隔条<Separator></Separator>作为分割线,使用Separator可以通过改变其template来自定义,Separator是无焦点的,如果简单的在MenuItem中添加一个textBlock它是可以有焦点的

        1.2,ToolBar没有ToolBarItem,ToolBar会将添加到其中的Button,CheckBox,Combobox样式进行修改.

        1.3,通过附加属性ToolBar.OverFlowMode来设置该项的溢出方式

        1.4,ToolBarTray.Band:确定工具栏放在哪一栏中(最顶部的一栏索引为0),BandIndex属性明确设置一栏中什么位置放置工具栏.

        1.5,ToolBarTray.Orientation:设置工具栏方向      

        1.6,示例:

  1. <Window x:Class="目录样例.MainWindow"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  5. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  6. xmlns:local="clr-namespace:目录样例"
  7. mc:Ignorable="d"
  8. Title="MainWindow" Height="350" Width="525">
  9. <DockPanel LastChildFill="False">
  10. <Menu DockPanel.Dock="Top" >
  11. <MenuItem Header="File(_F)">
  12. <MenuItem Command="{x:Static ApplicationCommands.Open}"></MenuItem>
  13. <MenuItem Header="New(_N)" IsChecked="True" x:Name="menuitem01" ></MenuItem>
  14. <Separator ></Separator>
  15. <MenuItem Header="Save_S"></MenuItem>
  16. </MenuItem>
  17. <MenuItem Header="Eidt_E">
  18. <MenuItem Header="撤销"></MenuItem>
  19. <Separator>
  20. <Separator.Template>
  21. <ControlTemplate>
  22. <Border Padding="10" BorderThickness="1" BorderBrush="Azure" CornerRadius="3">
  23. <TextBlock HorizontalAlignment="Center">分割</TextBlock>
  24. </Border>
  25. </ControlTemplate>
  26. </Separator.Template>
  27. </Separator>
  28. <Border Padding="10" BorderThickness="1" BorderBrush="Azure" CornerRadius="3">
  29. <TextBlock HorizontalAlignment="Center">分割</TextBlock>
  30. </Border>
  31. <MenuItem Header="删除" InputGestureText="Ctr+D"></MenuItem>
  32. </MenuItem>
  33. </Menu>
  34. <ToolBarTray DockPanel.Dock="Top">
  35. <ToolBar Band="0" >
  36. <Button>Line</Button>
  37. <Button >Rectangle</Button>
  38. </ToolBar>
  39. <ToolBar Band="1">
  40. <Button>Color</Button>
  41. <Button >Font</Button>
  42. </ToolBar>
  43. <ToolBar Band="0" >
  44. <Button>One</Button>
  45. <Button >Two</Button>
  46. </ToolBar>
  47. </ToolBarTray>
  48. <StatusBar DockPanel.Dock="Bottom">
  49. <!--<StatusBar.ItemTemplate>
  50. <ItemContainerTemplate>
  51. <DockPanel></DockPanel>
  52. </ItemContainerTemplate>-->
  53. <!--</StatusBar.ItemTemplate>-->
  54. <StatusBarItem DockPanel.Dock="Right">账号:</StatusBarItem>
  55. <StatusBarItem DockPanel.Dock="Top" >状态1</StatusBarItem>
  56. <StatusBarItem >状态2</StatusBarItem>
  57. </StatusBar>
  58. <ToolBarTray Orientation="Vertical" >
  59. <ToolBar >
  60. <Button >
  61. <Button.Content>
  62. <Image Source="/Img/download.png" Width="16" Height="16"></Image>
  63. </Button.Content>
  64. </Button>
  65. <Button Content="Open"></Button>
  66. <Button Content="Save"></Button>
  67. <CheckBox FontWeight="Bold">Bold</CheckBox>
  68. <CheckBox FontStyle="Italic">Italic</CheckBox>
  69. <CheckBox >
  70. <TextBlock TextDecorations="Underline">UnderLine</TextBlock>
  71. </CheckBox>
  72. <ComboBox ToolBar.OverflowMode="Never" Width="80">
  73. <ComboBoxItem>10%</ComboBoxItem>
  74. <ComboBoxItem >20%</ComboBoxItem>
  75. <ComboBoxItem>30%</ComboBoxItem>
  76. </ComboBox>
  77. <Separator></Separator>
  78. </ToolBar>
  79. </ToolBarTray>
  80. </DockPanel>
  81. </Window>

        1.7,效果:

2,功能区

        2.1,使用功能区需要添加程序集System.Windows.Controls.Ribbon。

        2.2,引用程序集:

 xmlns:r="clr-namespace:System.Windows.Controls.Ribbon;assembly=System.Windows.Controls.Ribbon"

        2.3,为了使快速访问工具栏出现在顶端,需要将默认继承自Window修改为继承自RibbonWindow

  1. public partial class MainWindow : RibbonWindow
  2. {
  3. public MainWindow()
  4. {
  5. InitializeComponent();
  6. }
  7. }
  1. <r:RibbonWindow x:Class="功能区.MainWindow"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  5. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  6. xmlns:local="clr-namespace:功能区"
  7. mc:Ignorable="d"
  8. xmlns:r="clr-namespace:System.Windows.Controls.Ribbon;assembly=System.Windows.Controls.Ribbon"
  9. Title="MainWindow" Height="350" Width="525">
  10. <Grid>
  11. </Grid>
  12. </r:RibbonWindow>

        2.4,示例:

  1. <r:RibbonWindow x:Class="功能区.MainWindow"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  5. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  6. xmlns:local="clr-namespace:功能区"
  7. mc:Ignorable="d"
  8. xmlns:r="clr-namespace:System.Windows.Controls.Ribbon;assembly=System.Windows.Controls.Ribbon"
  9. Title="MainWindow" Height="350" Width="525">
  10. <Grid>
  11. <Grid.RowDefinitions>
  12. <RowDefinition Height="auto"/>
  13. <RowDefinition Height="279*"/>
  14. </Grid.RowDefinitions>
  15. <Ribbon>
  16. <!--定义快速访问工具栏-->
  17. <Ribbon.QuickAccessToolBar>
  18. <RibbonQuickAccessToolBar>
  19. <RibbonButton Label="Cut" SmallImageSource="/Img/cut.png"></RibbonButton>
  20. <RibbonButton Label="Open" SmallImageSource="/Img/open1.png"></RibbonButton>
  21. </RibbonQuickAccessToolBar>
  22. </Ribbon.QuickAccessToolBar>
  23. <Ribbon.ApplicationMenu>
  24. <RibbonApplicationMenu SmallImageSource="Img/desktop.png">
  25. <RibbonApplicationMenuItem Header="新建" ImageSource="Img/new window.png"></RibbonApplicationMenuItem>
  26. <RibbonApplicationMenuItem Header="保存" ImageSource="Img/save.png">
  27. <RibbonApplicationMenuItem Header="另存" ImageSource="Img/save-as.png"></RibbonApplicationMenuItem>
  28. </RibbonApplicationMenuItem>
  29. <RibbonSeparator></RibbonSeparator>
  30. <RibbonApplicationMenuItem Header="另存" ImageSource="Img/save-as.png"></RibbonApplicationMenuItem>
  31. </RibbonApplicationMenu>
  32. </Ribbon.ApplicationMenu>
  33. <RibbonTab Header="Home" GroupSizeReductionOrder="ClipBoard,Files">
  34. <RibbonGroup Header="ClipBoard">
  35. <RibbonButton Label="Copy" SmallImageSource="Img/copy.png" LargeImageSource="Img/copy.png"></RibbonButton>
  36. <RibbonButton Label="Cut" SmallImageSource="Img/cut.png" LargeImageSource="Img/cut.png"></RibbonButton>
  37. <RibbonButton Label="Paste" SmallImageSource="Img/paste.png" LargeImageSource="Img/paste.png" ToolTipTitle="粘贴" ToolTipDescription="对文档进行粘贴等操作" ToolTipImageSource="Img/cut.png" ToolTipFooterTitle="更多信息" ToolTipFooterDescription="按F1获取更多帮助" ToolTipFooterImageSource="Img/help.png"></RibbonButton>
  38. </RibbonGroup>
  39. <RibbonGroup Header="ClipBoard">
  40. <RibbonButton Label="Copy" SmallImageSource="Img/copy.png" LargeImageSource="Img/copy.png"></RibbonButton>
  41. <RibbonButton Label="Cut" SmallImageSource="Img/cut.png" LargeImageSource="Img/cut.png"></RibbonButton>
  42. <RibbonButton Label="Paste" SmallImageSource="Img/paste.png" LargeImageSource="Img/paste.png" ToolTipTitle="粘贴" ToolTipDescription="对文档进行粘贴等操作" ToolTipImageSource="Img/cut.png" ToolTipFooterTitle="更多信息" ToolTipFooterDescription="按F1获取更多帮助" ToolTipFooterImageSource="Img/help.png"></RibbonButton>
  43. </RibbonGroup>
  44. <RibbonGroup Header="Task">
  45. <RibbonButton Label="Copy" SmallImageSource="Img/copy.png" LargeImageSource="Img/copy.png"></RibbonButton>
  46. <RibbonButton Label="Cut" SmallImageSource="Img/cut.png" LargeImageSource="Img/cut.png"></RibbonButton>
  47. <RibbonButton Label="Paste" SmallImageSource="Img/paste.png" LargeImageSource="Img/paste.png" ToolTipTitle="粘贴" ToolTipDescription="对文档进行粘贴等操作" ToolTipImageSource="Img/cut.png" ToolTipFooterTitle="更多信息" ToolTipFooterDescription="按F1获取更多帮助" ToolTipFooterImageSource="Img/help.png"></RibbonButton>
  48. </RibbonGroup>
  49. <RibbonGroup Header="Files">
  50. <RibbonButton Label="Copy" SmallImageSource="Img/copy.png" LargeImageSource="Img/copy.png"></RibbonButton>
  51. <RibbonButton Label="Cut" SmallImageSource="Img/cut.png" LargeImageSource="Img/cut.png"></RibbonButton>
  52. <RibbonButton Label="Paste" SmallImageSource="Img/paste.png" LargeImageSource="Img/paste.png" ToolTipTitle="粘贴" ToolTipDescription="对文档进行粘贴等操作" ToolTipImageSource="Img/cut.png" ToolTipFooterTitle="更多信息" ToolTipFooterDescription="按F1获取更多帮助" ToolTipFooterImageSource="Img/help.png"></RibbonButton>
  53. </RibbonGroup>
  54. </RibbonTab>
  55. </Ribbon>
  56. </Grid>
  57. </r:RibbonWindow>

        注明:

                GroupSizeReductionOrder="ClipBoard,Files" ribbonTab中首先被缩小的Group。

                快速访问工具栏。Ribbon.QuickAccessToolBar

        2.5,效果:


 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/758378
推荐阅读
相关标签
  

闽ICP备14008679号