ヘッダーテキストがBoldである必要があるというフォームで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が突然クローズしました!私がそれを行う正しい方法であるかどうかわからないので、誰かが私を助けることができますか?
編集:回答として投稿する前に、アイデアをテストしてください!
以下を試しましたか?
<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" />
Groupboxs headerTemplateは、DataTemplateの一種です。そのため、スタイルまたはテンプレートが組み込まれたdatatemplateオブジェクトを提供する必要があります。
以下の1つを試してください。
<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>