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