본문 바로가기

style

(3)
ControlTemplate 정의하기 Control의 Style을 바꾸기 위해선 Style을 Resource로 정의하고 공유하면 되지만, Style을 바꾸는 것 이상으로 Control의 모양을 사용자가 원하는 모양으로 바꾸고 싶을 때, ControlTemplate을 사용합니다. 실버라이트의 모든 Control 은 Template속성에 ControlTemplate을 적용할 수 있습니다. ControlTemplate 정의 Button control을 추가하면, 그림과 같은 형태의 버튼이 삽입 됩니다. 버튼의 모양을 둥글게 변형하거나, 별모양을 만들고 싶다거나 하는 경우, Button.Template 속성에 ControlTemplate를 정의하면 됩니다. 코드에서 Button.Template 속성에 ControlTemplate를 지정하면 Butt..
Resource에서 Style을 범용적으로 사용 Element 의 Style을 지정하는 방법을 알아 봤지만, 모든 Element에 Style을 지정 해 Element의 형태를 지정하는 것은 비효율적이며 손이 많이 가는게 사실입니다. 또한, 유지보수 차원에서도 여간 쉬운 일이 아닙니다. (일례로, Page내 TextBox 스타일이 일률적으로 변경 된다거 등의 작업을 처리하기 위해서는 Page내 TextBox의 Style을 수정해야 하기 때문이죠) 예를 들어, 다음과 같은 사용자 로그인 페이지를 구현한다고 하면, 위 코드에서 처럼, Login ID, E-Mail Address, Phone Number, Memo TextBlock이 Style이 모두 같기 때문에 4개의 TextBlock 모두 같은 코드를 반복해서 타이핑 할 수 밖에 없습니다. 마찬가지로, ..
Style 정의하기 UIElement 의 Style 정의 UIElement의 모양을 변경하기 위해 Style Class를 정의하여 UIElement의 Style속성에 설정합니다. (FrameworkElement 를 상속 받은 모든 Element는 Style 속성을 가지고 있기 때문) Style Class는 SetterBaseCollection 형의 Setter property를 가지고 있습니다. SetterBaseCollection내 각각의 Setter class 는 Style의 속성에 값을 부여하는 Class로, 적용 될 Property를 지정하는 Property property와 지정된 property의 값을 설정하는 Value property가 있습니다. Style Class 는 Property와 Value가 지정 된..