본문 바로가기

Silverlight

블렌드에서 열었는지를 코드로 식별하는 방법


원래 정석대로하려면,
공도님 블로그의 Blend에서 열었는지 여부를 코드로 식별하기를 보시면,
DesignerProperties클래스의 GetIsInDesignMode(...)메서드를 이용하시면 되는데요.
(namespace System.ComponentModel.DesignerProperties)
 
어제는 같은 역할을 하면서도 쬐금 더 간단한 방법을 소개해 드렸습니다.
HtmlPage클래스의 IsEnabled프로퍼티를 활용하면 간단히 블렌드 환경과 실제 구동 환경이 구분이 됩니다.
 
if (HtmlPage.IsEnabled == true)
{
     // 런타임에서 실행되는 코드
}
else
{
    // 블렌드에서 실행되는 코드
}
 
저 같은 경우에는 위 방법이 직관적이진 않다고 생각되어,
App.xaml.cs에 다음과 같은 프로퍼티를 생성해 놓고
 
public static bool IsBlend { get { return !HtmlPage.IsEnabled; } }
 
컨트롤 곳곳의 코드에서
 
if (App.IsBlend == false)
{
    // Blah-blah
}
 
이렇게 애용합니다.
 
감사합니다.