전에 작성했던 WPF Style #1에 이어서 작성. 해당 글은 아래 링크 참조
https://gomnezip.tistory.com/446
WPF에서 Style을 ResourceDictionary에 작성할 수 있다고 했었다.
그 내용 중, 몇가지 추가..
먼저, 컨트롤들의 스타일에서 중요한 것 중 하나는, Color다. (당연한 이야기를..)
Color는 Color라고 이름붙인 노드가 아니라, SolidColorBrush를 사용한다.
<SolidColorBrush x:Key="myBaseBackground" Color="#202020" />
<SolidColorBrush x:Key="myBlack" Color="Black" />
<Color x:Key="myBlackCr">#010101</Color>
<SolidColorBrush x:Key="myBlack2" Color="{StaticResource ResourceKey=myBlackCr" />
뭐.. 위와 같이 작성이 가능하다. (myBlack처럼도 가능은 한데 굳이..?)
Color값을 미리 정의한 후, 그 값을 Brush의 Color로 사용하는것도 가능하다.
예를들어,
위와 같이 같은 색상을 여러곳에서 사용해야 한다면.. 저렇게 Color를 붙여서 쓰는것은 좋은 방법이 될듯.
Color값은 #RRGGBB << 이 값을 넣어주면 된다.
그리고 Control에서 사용하려면 아래와 같이
<SolidColorBrush x:Key="myPen" Color="#00FF00" />
<Style TargetType="{x:Type Button}" x:Key="myBtn">
<Setter Property="Background" Value="{StaticResource ResourceKey=myPen}" />
</Style>
<Button Style="{StaticResource ResourceKey=myBtn}" Content="B1" />
<Button Background="{StaticResource ResourceKey=myPen}" Content="B2" />
이렇게 하면 된다.
다만 중요한건.. SolidColorBrush를 사용하려는 Style이 있다면, 해당 Style보다 먼저 SolidColorBrush를 선언해줄 것. 아니면 찾지 못한다고 오류남.
반응형
댓글