如何删除RibbonControlGroup中按钮之间的垂直分隔线?

时间:2013-10-11 11:04:33

标签: wpf ribbon

我已将RibbonControlGroup添加为RibbonButton的容器:

                <RibbonGroup>
                  <RibbonControlGroup>
                    <RibbonButton/>
                    <RibbonButton/>
                  </RibbonControlGroup>
                </RibbonGroup>

但是如何删除System.Windows.Controls.Ribbon.RibbonControlGroup中按钮之间的垂直分隔线?

我在RibbonGroup,RibbonControlGroup和RibbonButton的样式定义中有<Setter Property="BorderBrush" Value="Transparent"/>,但同样的问题仍然存在......

截图:

enter image description here

2 个答案:

答案 0 :(得分:1)

各种RibbonControls的ControlTemplate具有触发器,当它们位于控制组中时添加右侧边框(即IsInControlGroup属性为True):

<!-- IsInControlGroup -->
<Trigger Property="IsInControlGroup" Value="True">
    <Setter TargetName="OuterBorder" Property="BorderBrush" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Ribbon.BorderBrush}" />
    <Setter TargetName="OuterBorder" Property="BorderThickness" Value="0,0,1,0" /> 
    <Setter TargetName="OuterBorder" Property="CornerRadius" Value="0" />
    <Setter TargetName="InnerBorder" Property="CornerRadius" Value="0" />
</Trigger>

我编辑了这一行:

<Setter TargetName="OuterBorder" Property="BorderThickness" Value="0,0,1,0" /> 

致:

<Setter TargetName="OuterBorder" Property="BorderThickness" Value="0,0,0,0" /> 

或者你可以删除整个触发器。

注意:我的是在ControlsLibrary项目的Themes文件夹中的Generic.xaml中,该文件位于顶部

<!--=================================================================
Copyright (C) Microsoft Corporation.  All rights reserved.

This file was generated from individual xaml files found
   in wcp\themes\xaml\, please do not edit it directly.

To generate this file, bcz in Wcp\Themes\Generator and copy 
   the generated theme files from the output directory to
   the corresponding themes\ folder.

To automatically copy the files, set the environment variable
   set THEMEXAML_AUTOUPDATE=1

==================================================================-->

所以你可能想复制或重新生成。

答案 1 :(得分:0)

Button中的RibbonControl之间没有任何垂直线,只是在各种RibbonGroup之间......你能否向我们展示一个屏幕截图它?

由于我无法看到这些内容,我不确定这是否有效,但您可以尝试将Style这样的Resources添加到RibbonGroup部分{ {1}}:

<Style TargetType="{x:Type Ribbon:RibbonSeparator}">
    <Setter Property="Visibility" Value="Collapsed" />
</Style>

我通常会在RibbonGroup个对象之间使用类似的内容,但不会在Button之间使用,但可能会工作。