检测WPF应用程序是否正在运行或在Visual Studio Windows可视化工具中

时间:2017-08-24 09:34:58

标签: c# wpf visual-studio-2013

我有一个WPF应用程序,在加载主窗口时打开一个弹出窗口。问题是当我在Visual Studio 2013中的解决方案资源管理器中选择.xaml文件时,弹出窗口“弹出”即使应用程序未运行。我认为这是一个预期的行为,因为可视化工具需要执行代码才能呈现页面布局,但是现在我需要在每次加载页面时关闭它...我不能暂时禁用此弹出窗口,因为它有一些启动应用程序的逻辑(选择位置,......)。

以下是弹出触发器的代码

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();
}

有没有办法知道应用程序是否正在运行,或者我是否在可视化工具中,或者是否有办法仅针对visual studio禁用Loaded事件?目标是仍然能够看到页面以便于编辑。

编辑:这个问题是重复的。但是this answer对我有用。

1 个答案:

答案 0 :(得分:1)

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