我在表单中使用<Separator />
但不知道如何更改其颜色。 Border
/ Foreground
/ Background
确实不存在。请帮助。
答案 0 :(得分:61)
您可以设置背景:
<Separator Background="Red"/>
答案 1 :(得分:22)
嗯......我认为Separator
是使用简单风格无法运作的少数元素之一。根据MSDN文档,您需要指定SeparatorStyleKey
。
例如对于ToolBar
,你会这样做:
<Style x:Key="{x:Static ToolBar.SeparatorStyleKey}"
TargetType="{x:Type Separator}">
<Setter Property="Background"
Value="{DynamicResource {x:Static SystemColors.ControlDarkBrushKey}}"/>
<Setter Property="Margin" Value="0,2,0,2"/>
<Setter Property="Focusable" Value="false"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Separator}">
<Border
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}"
Height="1"
SnapsToDevicePixels="true"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
答案 2 :(得分:14)
使用样式
<Style x:Key="MySeparatorStyle" TargetType="{x:Type Separator}">
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlDarkBrushKey}}"/>
<Setter Property="Margin" Value="0,2,0,2"/>
<Setter Property="Focusable" Value="false"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Separator}">
<Border
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}"
Height="1"
SnapsToDevicePixels="true"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
分隔符只是一个边框元素,现在你可以改变它的外观吗?
答案 3 :(得分:8)
或者,您可以选择使用Rectangle元素:
<Rectangle HorizontalAlignment="Stretch" Fill="Blue" Height="2"/>
修改/塑造更容易。
答案 4 :(得分:8)
您可以使用以下代码设置Separator
的颜色:
<Separator BorderBrush="Red" BorderThickness="1"/>
请注意,也必须应用BorderThickness
属性。