我的表单中遗失了GroupBox
,其标题文字必须为粗体。我知道如何为单个GroupBox
:
<GroupBox>
<GroupBox.Header>
<TextBlock Text="HEADER TEXT" FontWeight="Bold"/>
</GroupBox.Header>
</GroupBox>
但我很想知道如何使用Styles
。这是我尝试过的:
<Style TargetType="GroupBox">
<Setter Property="BorderBrush" Value="{StaticResource lightBlueBrush}"/>
<Setter Property="Margin" Value="25,1,5,5"/>
//<Setter ??
</Style>
我试过<Setter Property="HeaderTemplate" Value={StaticResource myTemp}>
哪个myTemp
是一个简单的DataTemplate
但VS突然关闭了!我不确定我是否以正确的方式做到这一点,所以任何人都可以帮助我?
编辑:请在发布之前测试您的想法作为答案!
答案 0 :(得分:31)
您是否尝试过以下操作?
<Style TargetType="GroupBox">
<Setter Property="BorderBrush" Value="{StaticResource lightBlueBrush}"/>
<Setter Property="Margin" Value="25,1,5,5"/>
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock Text="{Binding}" FontWeight="Bold"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
用法:
<GroupBox Header="Title" />
答案 1 :(得分:1)
groupboxs headerTemplate是一种DataTemplate。所以你应该提供一个样式或模板的datatemplate对象。
尝试低于一个。
<Window.Resources>
<DataTemplate x:Key="DataTemplate1">
<TextBlock Text="Test Templated Header"/>
</DataTemplate>
</Window.Resources>
<Grid>
<GroupBox Header="Test Header" HeaderTemplate="{StaticResource DataTemplate1}">
<Border BorderBrush="Red" Margin="10">
<TextBlock Text="Hello"/>
</Border>
</GroupBox>
</Grid>