WPFでGroupBoxの枠線を太くするには

WPFでGroupBoxの枠線を太くするには、通常のプロパティでは直接調整できないため、ControlTemplateをカスタマイズする必要があります。以下は、GroupBoxの枠線を太くするための例です。

<UserControl x:Class="YourNamespace.YourUserControl"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             Width="300" Height="200">
    <UserControl.Resources>
        <!-- GroupBoxのスタイルを定義 -->
        <Style TargetType="GroupBox">
            <Setter Property="BorderBrush" Value="DarkSlateGray" /> <!-- 濃い色の設定 -->
            <Setter Property="BorderThickness" Value="3" /> <!-- 太さの設定 -->
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="GroupBox">
                        <Border BorderBrush="{TemplateBinding BorderBrush}"
                                BorderThickness="{TemplateBinding BorderThickness}"
                                CornerRadius="5">
                            <DockPanel>
                                <ContentPresenter Margin="10" />
                            </DockPanel>
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </UserControl.Resources>
    
    <Grid>
        <!-- スタイルが自動的に適用されるGroupBox -->
        <GroupBox Header="サンプルグループボックス1" Padding="10">
            <TextBlock Text="内容がここに入ります。" />
        </GroupBox>
        
        <GroupBox Header="サンプルグループボックス2" Padding="10" Margin="0,50,0,0">
            <TextBlock Text="別の内容がここに入ります。" />
        </GroupBox>
    </Grid>
</UserControl>

このコードでは、BorderThicknessを「3」に設定して枠線を太くしています。BorderBrushで枠線の色も変更可能です。CornerRadiusを設定することで角を丸くすることもできます。

コメント

タイトルとURLをコピーしました