WPF를 오래 쓰다 보니까 스타일은 그냥 그런 거라고 생각했다. 컨트롤은 Style 하나 확장하려면 BasedOn 조금 다르면 새 Style 하나 더 만들고 점점 Style 이름은 길어지고 이게 당연한 구조라고 생각했다.
불편하긴 했지만 “원래 XAML은 이런 거지” 하고 넘겼다. 그러다가 Avalonia를 조금 보게 됐는데 Classes라는 게 있더라.
처음엔 그냥 “CSS 흉내 냈네” 정도로 생각했는데 가만히 보니까 이게 좀 다르게 느껴졌다. WPF에서는 PrimaryButtonStyle RoundedPrimaryButtonStyle ShadowRoundedPrimaryButtonStyle 이런 식으로 상속 체인이 늘어나거나, 거의 복붙에 가까운 스타일이 계속 생긴다.
근데 Avalonia는 그냥 필요한 걸 붙이면 된다. 그 순간 약간 묘했다.
“아… 그동안 상속으로 억지로 풀던 걸 조합으로 풀면 되는...