c#/WPF

XAML에서 <Style> 의 <Setter>과 <Style.Triggers>의 속성

바르마스 2025. 2. 20. 14:56
728x90

<Setter>

- 특정 속성에 고정된 값을 설정할 때 사용

- 조건없이 항상 해당 속성 적용

<Button Content="일반 버튼">
    <Button.Style>
        <Style TargetType="Button">
            <!-- 항상 적용됨 -->
            <Setter Property="Background" Value="LightBlue" />
            <Setter Property="FontSize" Value="20" />
        </Style>
    </Button.Style>
</Button>

 

 

<Style.Triggers>

- 특정 조건(이벤트, 속성 값)에 따라 동적으로 속성이 변경되는 경우/변경 할 때 사용

- 조건이 충족될 때만 해당 속성 적용

<Button Content="마우스 오버">
    <Button.Style>
        <Style TargetType="Button">
            <Setter Property="Background" Value="LightBlue" />

            <!-- 조건부 스타일 변경 -->
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Background" Value="Yellow" />
                    <Setter Property="FontWeight" Value="Bold" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </Button.Style>
</Button>

 

 

<Style.Triggers> 와 <Setter>의 동시 사용

<Button Content="복합 스타일">
    <Button.Style>
        <Style TargetType="Button">
            <!-- 항상 적용 -->
            <Setter Property="FontSize" Value="20" />
            <Setter Property="Background" Value="LightBlue" />

            <!-- 조건부 변경 -->
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Background" Value="Yellow" />
                </Trigger>
                <Trigger Property="IsPressed" Value="True">
                    <Setter Property="Background" Value="Red" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </Button.Style>
</Button>
728x90