C#/WPF

WPF Brush 와 SolidColorBrush, Color

기공이 2016. 12. 23. 15:05

WPF 컨트롤들의 Foreground는 보통 Brush 형으로 되어있습니다. 그런데 색을 표현할 때에는 Color 형으로 저장 되는데요.

여기서 Color 는 System.Windows.Media.Color 로 구조체 입니다.


그리고 Color 에서 Brush로 바로 대입이 되지 않습니다. 그래서 Color에서 Brush 로 대입하는 방식입니다.


Color color = Color.FromRgb(0, 0, 0);    // 임의의 Color형 변수

Brush bsh = new SolidColorBrush(color);


SolidColorBrush 는 Brush를 상속하였기 때문에 이런식으로 SolidColorBrush 를 생성한 뒤 Brush로 대입이 가능합니다.


하지만 반대로 Brush에서 SolidColorBrush로는 바로 대입이 안되는데요, 찾아보니 이 둘은 거의 차이점이 없다고 합니다.


그래서 그냥 as 로 해주면 됩니다.


Brush bsh;    // Brush형 변수

SolidColorBrush solid = bsh as SolidColorBrush;