Wpf中的BorderBrush不起作用

时间:2018-05-08 12:27:11

标签: c# wpf xaml

我正在尝试替换组框中的此默认边框颜色,但它不起作用。

enter image description here

此处代码段:

<GroupBox x:Name="groupBox" BorderBrush="Red" BorderThickness="5" HorizontalAlignment="Center" Height="278" Margin="107,74,33,0" VerticalAlignment="Top" Width="760">
  <GroupBox.Header>
    <Border  Background="#FFDAD5D5" BorderBrush="#FFDAD5D5" BorderThickness="56">
      <TextBlock Text="Installation data" />
    </Border>
 </GroupBox.Header>

2 个答案:

答案 0 :(得分:0)

尝试使用Style定义,如下所示:How to use style for GroupBox header?

你可以避免,任何其他风格都会覆盖你的风格。 除了你的代码得到一个更清晰的结构,你可以重新使用这种风格的其他GroupBox。

<Style x:Key="MyGroupeBoxStyle" TargetType="{x:Type GroupBox}">
    <Setter Property="BorderBrush" Value="Red"/>
    <Setter Property="BorderThickness" Value="5"/>
    <Setter Property="HorizontalAlignment" Value="Center"/>
    <Setter Property="Height" Value="278"/>
    <Setter Property="Width" Value="760"/>
    <Setter Property="Margin" Value="107,74,33,0"/>
    <Setter Property="VerticalAlignment" Value="Top"/>
    <Setter Property="HeaderTemplate">
        <Setter.Value>
            <DataTemplate>
                <Border Background="#FFDAD5D5" BorderBrush="#FFDAD5D5" BorderThickness="56">
                    <Label Text="{Binding}"/>
                </Border>
            </DataTemplate>
        </Setter.Value>
    </Setter>
</Style>

使用如下:

<GroupBox x:Name="groupBox" 
          Style="{StaticResource MyGroupeBoxStyle}" 
          Header="Installation data" />

答案 1 :(得分:-1)

我认为GroupBox位于另一个覆盖边框的控件内。 也许您可以尝试将GroupBox放在前面 - 只是为了尝试

让我知道发生了什么。

Greedings