WPF의 XAML 디자이너는 참 재미있는 녀석입니다. 그리고 종종 아주 분노하게 만들기도 합니다.
보통 디자이너가 활성화 상태면 디자이너 자체에서 프로그램을 실행해 버립니다. XAML의 수정사항이 즉각 반영되는 것은 좋은데 연산량이 많은 프로그램이라면 디자이너가 못 버티고 비주얼 스튜디오가 종료되어 버리는 황당한 상황이 발생하곤 합니다.
✅ Designer 에서 실행 차단 방법
현재 개발 중인 프로그램인데 100 FPS 정도로 Data를 가져와서 화면에 Chart를 그립니다.
XAML을 조금 수정하려고 하면 종료되어 버립니다.
물론 소스코드도..
디자이너에서 프로그램 실행을 막고 싶은데 비주얼 스튜디오 옵션에서는 찾을 수가 없어서 구글링을 했습니다.
디자이너 차단 코드
#if DEBUG
if (DesignerProperties.GetIsInDesignMode(new DependencyObject()))
return;
#endif
위 코드를 Designer가 실행하지 않길 바라는 위치 (예를 들어 데이터를 획득하는 Thread가 생성되기 전)에 넣어주고 컴파일을 한 번 하면 편안한 XAML 수정이 가능합니다.
✅ Designer에서 실행 차단 방법 - 끝