반응형
XAML 파일에서
<k:KinectTileButton Click="ClickEvent" Height="50" Width="50" Content="Button"> <k:KinectTileButton.Template> <ControlTemplate> <Image Source="BackgroudImages\icon.png"></Image> </ControlTemplate> </k:KinectTileButton.Template> </k:KinectTileButton>
과 같이 간편하게 지정 할 수 있다. 하지만 이렇게 할 경우 Button의 Hover, Click 속성이 다 무시된다. 테스트 해 보면 알겠지만 기존 KinectTileButton과 다르게 Hand Mouse가 올라갔을때 확대가 된다거나, 클릭을 했을 때 눌리는 애니메이션 효과가 없다.
이런 속성을 그대로 유지시키고 싶다면 XAML 코드가 아닌 cs코드 main() {... 안에 아래와 같은 코드를 넣어준다. (위 코드와 함께 사용하는 것이 아님. 아래 코드를 사용할 땐 <k:KinectTileButton.Template> 을 사용하지 않는다.)
BitmapImage bi = new BitmapImage(); bi.BeginInit(); bi.UriSource = new Uri("img\\button1.png", UriKind.Absolute); bi.EndInit(); buttonTraining.Background = new ImageBrush(bi);
이렇게 할 경우 Hand Mouse 이동에 따른 효과는 그대로 유지 된다. 이 방법을 쓰면 생기는 문제는 이쁘게 꾸며 놓은 이미지 버튼에 지저분한 Border가 생겨버린다는 것인데, 이때 XAML에서 버튼에 BorderThickness="0" 옵션을 주면 된다. 클릭을 했을때 또 생기는 Focus border도 마음에 안든다면 Focusable="False" 까지 넣어 주자.
위 소스들은 다 구글링해서 찾은 방법들이며.. 사실 KinectTileButton이 하나의 객체인 만큼 이를 컨트롤 할 방법은 무수히 많을 것이다. 더 찾아보자.
반응형
'IT 실무 > 기타 프로그래밍' 카테고리의 다른 글
[C#] MIDI 제어를 위한 Sanford Midi Toolkit (0) | 2013.11.09 |
---|---|
[C# WPF] Grid에 배경 이미지 주기 (0) | 2013.11.03 |
[Windows API] WIN32_FIND_DATA 구조체 (0) | 2012.11.16 |
[Windows API] 파일 열기, 읽기, 쓰기, 닫기 (2) | 2012.11.10 |
[Windows API] 기본적인 자료형 (0) | 2012.11.10 |
댓글