Определить, работает ли приложение WPF или визуализатор Windows Visual Studio

У меня есть приложение WPF, которое открывает всплывающее окно при загрузке главного окна. Проблема заключается в том, что при выборе файла.xaml в обозревателе решений в Visual Studio 2013 всплывающее окно "всплывает", даже если приложение не запущено. Я предполагаю, что это предполагаемое поведение, так как визуализатору необходимо выполнить код для визуализации макета страницы, но сейчас мне нужно закрывать его каждый раз, когда я загружаю страницу... Я не могу временно отключить это всплывающее окно, так как оно имеет некоторые стартовая логика для приложения (выбор местоположения,...).

Вот код всплывающего триггера

public GeneralProcess() //usercontrol
{
    InitializeComponent();
    Loaded += GeneralProcess_Loaded;
}

void GeneralProcess_Loaded(object sender, RoutedEventArgs e)
{
    var popup = new StationSelect();
    popup.Owner = Window.GetWindow(this);
    popup.ShowDialog();
}

Есть ли способ узнать, работает ли приложение или я в визуализаторе, или есть способ отключить Loadedсобытие только для визуальной студии? Цель состоит в том, чтобы все еще иметь возможность видеть страницу для удобного редактирования.

РЕДАКТИРОВАТЬ: этот вопрос является дубликатом. Однако этот ответ работал для меня.

1 ответ

Решение
void GeneralProcess_Loaded(object sender, RoutedEventArgs e)
{
    if (DesignerProperties.GetIsInDesignMode(this))
        return;
    var popup = new StationSelect();
    popup.Owner = Window.GetWindow(this);
    popup.ShowDialog();
}
Другие вопросы по тегам