Custom Control이 기본 스타일을 입지 않는다...
Custom Control을 라이브러리에 만들어 사용할 때, 실버라이트에서는 이런 일이 없었는데, WPF에서는 매번 발생하네요.
그 동안 어플리케이션 프로젝트에 기본 컨트롤 스타일을 복사해서 사용하는 허접한 Workaround를 사용하고 있다가,
계속 이러면 안 되겠다 싶어. 열심히 구글링 해 본 결과 다음 포스트를 찾을 수 있었습니다.
J# Microsoft MVP인 George Birbilis의 "What to do if Generic.xaml doesn’t get loaded for WPF control"
처치방법
처치방법을 요약하면 다음과 같습니다.
커스텀컨트롤이 속한 라이브러리 프로젝트에서 Properties 노드 밑에 숨어있는 AssemblyInfo.cs를 열어,
1) 최상단에 using System.Windows;를 추가해 주고,
2) 최하단에 다음 코드를 추가하면 됩니다.
[assembly: ThemeInfo( ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located //(used if a resource is not found in the page, // or application resource dictionaries) ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located //(used if a resource is not found in the page, // app, or any theme specific resource dictionaries) )]
이러고나니 커스텀컨트롤의 OnApplyTemplate 이하 코드에 걸어놓은 중단점에서 디버그 포인트가 걸리네요.
앓던 이를 뽑은 듯 시원합니다.
'NUI > Microsoft PixelSense(Old Surface)' 카테고리의 다른 글
윈도우8에서 PixelSense앱 터치이벤트 살리기 (0) | 2013.06.27 |
---|---|
레드카펫: 시원한 지구 보네이도와 함께하는 Cool Running 전 (0) | 2013.05.31 |
스마트 클라우드 쇼 2012에서 전시 중인 픽셀센스앱 뷰티풀(BeautyPool) (0) | 2012.08.02 |
부산모터쇼 2012 현대자동차 블루링크존 (체험앱/포토앱) (0) | 2012.05.29 |
Surface2: 헐리웃핸즈(Hollywood Hands), 방명록 대신 손도장 남겨요! (2) | 2012.04.09 |
Surface2: 보물찾기(Treasure Hunter)앱을 소개합니다. (0) | 2012.04.05 |
어린이 안전짱 박람회 '로보카폴리' 부스에 서피스앱 출품하였습니다. (2) | 2012.01.30 |