WPF功能区控件

时间:2015-05-21 15:08:56

标签: c# wpf ribbon

我已经开始使用Microsoft Ribbon控件了,当标签的文本行超过1行时,我遇到RibbonButton的问题

我对功能区的代码如下:

<Ribbon x:Name="ribMainRibbon" SelectionChanged="ribMainRibbon_SelectionChanged" DockPanel.Dock="Top">
    <Ribbon.QuickAccessToolBar>
        <RibbonQuickAccessToolBar x:Name="ribQuickAccessToolBar">
            <RibbonButton SmallImageSource="/Media/Icons/New.png"/>
            <RibbonButton SmallImageSource="/Media/Icons/Open.png"/>
            <RibbonButton SmallImageSource="/Media/Icons/Save.png"/>
            <RibbonButton SmallImageSource="/Media/Icons/Print.png"/>
        </RibbonQuickAccessToolBar>
    </Ribbon.QuickAccessToolBar>
    <Ribbon.ApplicationMenu>
        <RibbonApplicationMenu Visibility="Collapsed">
        </RibbonApplicationMenu>
    </Ribbon.ApplicationMenu>
    <RibbonTab Header="{DynamicResource MenuDesignOptions}">
        <RibbonGroup>
            <RibbonMenuButton LargeImageSource="/Media/Icons/ToolBar/PlaceHolder.png" Label="{DynamicResource MenuAutoCalc}" x:Name="rmbAutoCalc">
                <RibbonMenuItem ImageSource="/Media/Icons/ToolBar/PlaceHolder2.png" Header="{DynamicResource MenuAutoCalc}" x:Name="rmiAutoCalc" Click="rmiAutoCalc_Click"/>
                <RibbonMenuItem ImageSource="/Media/Icons/ToolBar/PlaceHolder.png" Header="{DynamicResource MenuManualCalc}" x:Name="rmiManualCalc" Click="rmiManualCalc_Click"/>
            </RibbonMenuButton>
            <RibbonMenuButton LargeImageSource="/Media/Icons/ToolBar/PlaceHolder.png" Label="{DynamicResource MenuEnglish}" x:Name="rmbUnits">
                <RibbonMenuItem ImageSource="/Media/Icons/ToolBar/PlaceHolder2.png" Header="{DynamicResource MenuEnglish}" x:Name="rmiEnglishUnits" Click="rmiEnglishUnits_Click"/>
                <RibbonMenuItem ImageSource="/Media/Icons/ToolBar/PlaceHolder.png" Header="{DynamicResource MenuMetric}" x:Name="rmiMetricUnits" Click="rmiMetricUnits_Click"/>
            </RibbonMenuButton>
            <RibbonButton LargeImageSource="/Media/Icons/ToolBar/PlaceHolder.png" Label="{DynamicResource MenuReverse}" x:Name="rbtReverse" Click="rbtReverse_Click">
            </RibbonButton>
        </RibbonGroup>
    </RibbonTab>

相关的字符串资源:

<s:String x:Key="MenuReverse">Reverse System</s:String>
<s:String x:Key="MenuEnglish">Imperial Units</s:String>
<s:String x:Key="MenuAutoCalc">Auto Calc</s:String>

但是当我运行此代码时,它看起来像这样:

enter image description here

所以我可以通过指定Height的{​​{1}}属性来修复它,但这似乎是错误的解决方法。而且我知道你应该能够在这些按钮上有2行描述,因为MS Word和Excel都有它们:

enter image description here

1 个答案:

答案 0 :(得分:0)

原来这是我应用于所有StackPanels

的全局样式之一
<Style TargetType="StackPanel">
    <Setter Property="Orientation" Value="Vertical"/>
    <Setter Property="Margin" Value="2"/>
</Style>

这是在Ribbon Buttons中添加边距导致它被切断