Как использовать стиль для заголовка GroupBox?
Я потерял 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 внезапно закрыт! Я не уверен, правильно ли я это сделал, чтобы кто-нибудь мог мне помочь?
РЕДАКТИРОВАТЬ: Пожалуйста, проверьте свою идею, прежде чем отправлять ее в качестве ответа!
Ответы
Ответ 1
Вы пробовали следующее?
<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" />
Ответ 2
Групповые поля 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>