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;