Style - <Button>

Eden·2023년 2월 9일
0
    <Style x:Key="Button.Point.Style" TargetType="{x:Type Button}">
        <Setter Property="Background" Value=""/> // 원하는 색상
        <Setter Property="BorderBrush" Value="Transparent"/> //버튼 테두리 색- 투명색
        <Setter Property="BorderThickness" Value="0"/> // 버튼 테두리가 없도록
        <Setter Property="Foreground" Value=""/> - 버튼 글자 색
        <Setter Property="HorizontalContentAlignment" Value="Center"/> //가로 - 중앙
        <Setter Property="VerticalContentAlignment" Value="Center"/> //세로 - 중앙
        <Setter Property="Padding" Value="12,5,12,5"/> //버튼 테두리와 글자 사이 영역설정
        <Setter Property="Width" Value="Auto"/> // 자동설정
        <Setter Property="MinWidth" Value=""/> // 최소 넓이 Int 값
        <Setter Property="MinHeight" Value=""/> // 최소 높이 Int 값
        <Setter Property="HorizontalAlignment" Value="Center"/>
        <Setter Property="VerticalAlignment" Value="Center"/>
        <Setter Property="FontFamily" Value="{StaticResource NotoSans}"/> //Font 설정
        <Setter Property="FontSize" Value=""/> 글자 크기
        <Setter Property="FontWeight" Value=""/> 글자 두께
        <Setter Property="SnapsToDevicePixels" Value="True"/> //픽셀 깨짐 방지
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Button}">
                    <Grid> // Trigger 받는 영역 설정
                        <Border x:Name="BackgroundContainer" Background="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}" SnapsToDevicePixels="true" CornerRadius="모서리 둥근정도(int값)""/>
                        <Border x:Name="StateContainer" CornerRadius="" BorderThickness="0"/>
                        <ContentPresenter x:Name="contentPresenter" Focusable="False" Margin="{TemplateBinding Padding}"  RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
                                          HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                    </Grid> 
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsMouseOver" Value="true"> //마우스가 올라갔을때
                            <Setter Property="Background" TargetName="StateContainer" Value=""/> // 배경색 설정
                        </Trigger>
                        <Trigger Property="IsPressed" Value="true"> // 마우스로 누르고 있을때
                            <Setter Property="Background" TargetName="StateContainer" Value=""/> //배경색 설정
                        </Trigger>
                        <Trigger Property="IsEnabled" Value="false">// 버튼 사용 안함일때
                            <Setter Property="Background" TargetName="StateContainer" Value=""/> //StateContainer 배경색 설정
                            <Setter Property="Opacity" TargetName="StateContainer" Value="0.5"/> // StateContainer 투명도 설정 0~1사이 값
                            <Setter Property="Foreground" Value=""/> 글자색 변경
                            <Setter Property="Background" Value="Transparent"/> 배경 투명
                            <Setter Property="Opacity" TargetName="BackgroundContainer" Value="0.3"/> //BackgroundContainer 투명도 변경
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
profile
주섬주섬..

0개의 댓글