我已将RibbonControlGroup添加为RibbonButton的容器:
<RibbonGroup>
<RibbonControlGroup>
<RibbonButton/>
<RibbonButton/>
</RibbonControlGroup>
</RibbonGroup>
但是如何删除System.Windows.Controls.Ribbon.RibbonControlGroup
中按钮之间的垂直分隔线?
我在RibbonGroup,RibbonControlGroup和RibbonButton的样式定义中有<Setter Property="BorderBrush" Value="Transparent"/>
,但同样的问题仍然存在......
截图:
答案 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
之间使用,但可能会工作。