我有一个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对我有用。
答案 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();
}