使组框的标题对于每个实例都是唯一的

时间:2018-10-10 08:55:45

标签: wpf xaml controltemplate

我创建了一个Groupbox资源目录,并创建了一种会影响组框的样式。

这是我的Resource Directory代码:

<Style x:Key="grpNumbers" TargetType="GroupBox">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="GroupBox">
                <Border
                    BorderThickness="1"
                    BorderBrush="#25A0DA" CornerRadius="10">
                    <Label HorizontalAlignment="Left" Content="Carrier" Foreground="White" Background="#151515" Height="38" 
                          Margin="30,-195,0,0"/>
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

问题是我希望分组框样式不与Content中的Label进行耦合

目前,它正在mainwindow中实例化,如下所示:

<GroupBox Style="{StaticResource ResourceKey=grpNumbers}" Grid.Column="1"  BorderBrush="#272727" Grid.Row="1" Height="200" Margin="20"  HorizontalAlignment="Stretch" Header="Carrier information" Foreground="White" FontSize="20" BorderThickness="0.2">
</GroupBox>

但是显然上述groupboxes的Header标签没有覆盖我自定义groupbox的标题,但是我也需要它,可以做到吗?

2 个答案:

答案 0 :(得分:2)

ContentTemplate中的标签可以使用TemplateBinding绑定标头:

<Label Content="{TemplateBinding Header}"/>

答案 1 :(得分:1)

您也应该像这样修改样式:

f.write(q+'\n')

然后可以像这样使用:

f.write(q.encode('utf-8')+'\n'.encode('utf-8'))