none
怎样调节Ribbon界面中菜单按钮的高度 RRS feed

  • 问题

  • 可能是由于中英文排版上的差异,在WPF框架下,无论是Windows 7 风格的Ribbon(Microsoft.Windows.Controls.Ribbon ; System.Windows.Controls.Ribbon),还是Office 2010风格的Ribbon(Fluent),初始状态下的菜单按钮都比Windows 7附件里的应用程序或是Office 2010本身的菜单按钮要来得矮,怎么做能增加这个高度?

    2013年4月5日 13:11

答案

  • 后来研究了一下Fluent Ribbon的源码,发现字体风格、控件布局和尺寸等信息,在源码包的Theme文件夹下的资源字典文件里面可以设定。

    要搞成和Office2010差不多的样子,还是得改不少东西的。

    比如说

    Themes/Office2010/Fonts.xaml里可以调整默认的字体风格。

    Themes/Office2010/Controls/Ribbon.xaml里可以修改快捷工具条的高度、选项卡面板的位置偏移量。

    Themes/Office2010/Controls/RibbonTabControl.xaml里可以修改选项卡和功能区的高度。

    Themes/Office2010/RibbonWindow.xaml里可以修改玻璃效果的边框大小、半透明渐变色带的位置,在修改了选项卡位置后,玻璃边框上沿的宽度就不够了,需要增加,同时半透明色带也要向下移动。

    Themes/Office2010/Controls/ContextualTabGroup.xaml里可以修改带颜色的选项卡标签的位置和高度(就像PowerPoint的红色的“图片工具”标签和“格式”选项卡),如果向下调整了选项卡的位置,那颜色标签会上下断开,所以这里也需要修改高度,保证标签连续。

    Themes/Office2010/Controls/Backstage.xaml里可以修改应用程序菜单按钮(左上角那个最显眼的按钮)的尺寸,不过要是没有向下调整选项卡的位置,菜单按钮再大也是会被遮住的。

    Themes/Office2010/Controls/RibbonTabItem.xaml里可以修改菜单按钮右侧的选项卡按钮的尺寸。

    Themes/Office2010/Controls/RibbonGroupBox.xaml里可以修改功能区面板的高度(RibbonTabControl.xaml里面只是把背景拉高了,但是实际可放置控件的高度没有增加)。

    调整好以后再编译一次项目,得到的Fluent.dll里面的资源字典就是我们设定的布局了。

    不过.net框架自带的那个Ribbon还是不清楚要怎么调节初始的布局。

    • 已标记为答案 吴泽寰 2013年4月8日 1:56
    2013年4月6日 13:01

全部回复

  • 后来研究了一下Fluent Ribbon的源码,发现字体风格、控件布局和尺寸等信息,在源码包的Theme文件夹下的资源字典文件里面可以设定。

    要搞成和Office2010差不多的样子,还是得改不少东西的。

    比如说

    Themes/Office2010/Fonts.xaml里可以调整默认的字体风格。

    Themes/Office2010/Controls/Ribbon.xaml里可以修改快捷工具条的高度、选项卡面板的位置偏移量。

    Themes/Office2010/Controls/RibbonTabControl.xaml里可以修改选项卡和功能区的高度。

    Themes/Office2010/RibbonWindow.xaml里可以修改玻璃效果的边框大小、半透明渐变色带的位置,在修改了选项卡位置后,玻璃边框上沿的宽度就不够了,需要增加,同时半透明色带也要向下移动。

    Themes/Office2010/Controls/ContextualTabGroup.xaml里可以修改带颜色的选项卡标签的位置和高度(就像PowerPoint的红色的“图片工具”标签和“格式”选项卡),如果向下调整了选项卡的位置,那颜色标签会上下断开,所以这里也需要修改高度,保证标签连续。

    Themes/Office2010/Controls/Backstage.xaml里可以修改应用程序菜单按钮(左上角那个最显眼的按钮)的尺寸,不过要是没有向下调整选项卡的位置,菜单按钮再大也是会被遮住的。

    Themes/Office2010/Controls/RibbonTabItem.xaml里可以修改菜单按钮右侧的选项卡按钮的尺寸。

    Themes/Office2010/Controls/RibbonGroupBox.xaml里可以修改功能区面板的高度(RibbonTabControl.xaml里面只是把背景拉高了,但是实际可放置控件的高度没有增加)。

    调整好以后再编译一次项目,得到的Fluent.dll里面的资源字典就是我们设定的布局了。

    不过.net框架自带的那个Ribbon还是不清楚要怎么调节初始的布局。

    • 已标记为答案 吴泽寰 2013年4月8日 1:56
    2013年4月6日 13:01
  • 很高兴知道你解决了这个问题,感谢分享的解决方法。非常感谢。


    Lisa Zhu [MSFT]
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2013年4月8日 11:29
    版主