본문 바로가기

Epxression Blend/WPF / Silverlight

[Expression Blend 강좌] ComboBox Customize -2

이어서 강좌하겠습니다.
콤보박스를 클릭하고 롤오버 할때 반응을 보여주어야 내가 이 콤보박스를 클릭했는지 안했는지 눈으로 구분할 수 있겠지요?
속성 트리거로 녹화를 하여 바꾸어보도록 하겠습니다.




1) 위에 그림을 보시면 템플릿 복사하면서 시스템에서 남겨놓은 속성 트리거들이 보이실 겁니다.
아까 수정하기 전에는 번개 모양 즉, 녹화된 속성이 있었는데, 지금은 다 지워져서 번개모양도 지워졌습니다.
여기서 IsChecked를 선택하여 녹화버튼으로 만듭니다. 말 그래도 체크가 True되었을 때 바꾸겠다는 의미입니다.
저는 색상만 조금 바꾸어보도록 하겠습니다.

색상을 설정해 주었는데 색상이 안바뀌는 경우가 간혹 있습니다. 그래서 녹화가 안된건가 하고 생각하실 수 있는데,
빌드 (F5)를 누르셔서 실행해 보시면 녹화가 되어있습니다. 그리고 트리거 창에 활성상태인 경우 속성에 - 추가가 되거나 번개모양이 그려지면 속성이 바뀌었다고 생각하시면 됩니다.

2) 빌드해서 실행해 봅니다.


왼쪽은 기본상태일 때 이고 오른쪽은 콤보박스가 체크되었을 때의 상태입니다. 여기까지 잘 따라 오셨나요? :-D
근데 콤보박스가 체크되었을 때의 하얀색 바탕도 바꾸고 싶어집니다. 여기까지 왔으니 한번 바꿔볼까요?




3) 여태껏 ToggleButton 에서 작업했는데요 ToggleButton에서 나와서 콤보박스에서 바꾸도록 합니다. 저번강좌에 말씀드렸듯이 
콤보아이템이 나오는 레이어는 Part_Popup입니다. 여기서 DropDownBorder의 색상을 바꿔주면 박스의 색상을 바꿀 수 있습니다.



그런데 색상이 묶여있는 것을 확인할 수 있습니다. 오른쪽 상자가 녹색으로 변해있다는 것은 시스템 리소스를 쓰고 있다는 증거입니다. 저 상자는 고급속성옵션을 해주는 기능입니다.
우리는 시스템 리소스를 안쓰고 직접 색상을 지정해주기 때문에 풀어주어도 됩니다.
풀어주려면 녹색상자를 클릭 > 다시 설정을 하면 풀리게 됩니다.



4) 색상이 풀렸으면 임의대로 색상을 지정해줍니다.
마찬가지로 콤보박스 아이템의 선 색도 바꾸고 싶다면 방금과 같은 방법으로 녹색으로 변한
고급속성을 클릭 > 다시 설정 해서 색상을 바꾸어줍니다.



2회로 이루어진 강좌 오래 봐주셔서 감사합니다.
실행파일을 첨부하도록 하겠습니다 :-)