이전 StaticResources 포스팅에서 폰트 컬러를 바꿔 봤는데요.
형태는 비슷하지만 이번에는 <Style>태그를 이용한 방법에 대해 알아보겠습니다.
기존 방식과 다르게 다양한 속성을 손쉽게 사용할 수 있다는 점에서 아주 강력하니 꼭 숙지하시면 좋겠습니다.
이번 포스팅에서는 아래와 같이 버튼에 빨간색 배경을 칠하는 것이 목표입니다.
1. 기본 사용방법
1) .Resources안에 Style 태그 추가
2) 어느 곳에 스타일을 적용할지 TargetType 속성을 이용하여 정하기
우리는 Button 부분에 스타일을 적용하고 싶으니까 Button 이라고 적어줍니다.
3) 어떤 속성을 변경할지 정하기
우리는 Background 컬러를 변경하고 싶습니다.
<Setter> 태그를 작성하고 Property에 Background, Value에 red값을 입력합니다.
그리고 실행하면 정상적으로 실행되는것을 알 수 있습니다.
이외에 추가적인 속성을 추가하고 싶다면 <Setter> 태그를 추가 하면됩니다.
만약 폰트사이즈를 조금 크게 해보고싶다면, 아래와 같이 적을 수 있겠죠.
output:
2. Style에서 x:Key사용
위와 같이 두개의 버튼이 있다면, 앞서 정의한 TargetType에 Button이라고 명시되어 있기 때문에 둘다 같은 스타일이 적용됩니다.
만약 두번째 버튼만 빨간색이 적용되게 하고 싶다면 어떻게 할까요?
그때 사용하는게 x:Key입니다.
<Style>태그 에 x:Key명을 정의해줍니다.
우리 코드에서는 "스타일링"을 이름으로 정해보았습니다.
그리고 적용하고 싶은 버튼 엘리먼트에 가서 "{StaticResource Key명}" 을 작성해주시면 완성이 됩니다.
+보너스
앞서 TargetType에 적었던 이 부분은
아래와 같이 {x:Type 엘리먼트명} 형태로 적어줄 수도 있습니다.
혹시 코드를 보시다 이런 형태가 나와도 당황하시지 말기 바랍니다 :)
이 글과 읽으면 좋은글
'c# > wpf' 카테고리의 다른 글
[c# wpf] DataContext란? 왜 쓰는 것일까? (0) | 2022.05.31 |
---|---|
[c# wpf] Style 상속 방법(with BasedOn) (0) | 2022.05.31 |
[c# wpf] 데이터바인딩에서 mode 사용법 (0) | 2022.05.30 |
[c# wpf] StaticResource란? (DynamicResource 비교) (1) | 2022.05.30 |
[c# wpf] 데이터 바인딩 기초 개념/ 예제 완벽 정리 (3) | 2022.05.27 |
댓글