Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 启动窗体上不存在WPF触发事件_C#_Wpf_Forms_Events - Fatal编程技术网

C# 启动窗体上不存在WPF触发事件

C# 启动窗体上不存在WPF触发事件,c#,wpf,forms,events,C#,Wpf,Forms,Events,我的WPF申请表中有一些表格。我在App.xaml中指定了我的启动表单,可以说是表单A 不知何故,当应用程序启动时,我的其他窗体的事件会像 组合框选择已更改 选中的复选框已更改 我只想打开表单A,不想打开其他表单。有什么简单的方法可以防止这些事件发生吗 好的,这是我的app.xaml 好的,我认为我的错误,这是因为一个初始化其他表单的函数,如下所示: List wndList=new List(); 尝试 { Assembly uiProject=Assembly.Load(“MMS”)

我的WPF申请表中有一些表格。我在App.xaml中指定了我的启动表单,可以说是表单A

不知何故,当应用程序启动时,我的其他窗体的事件会像

  • 组合框选择已更改
  • 选中的复选框已更改
我只想打开表单A,不想打开其他表单。有什么简单的方法可以防止这些事件发生吗

好的,这是我的app.xaml


好的,我认为我的错误,这是因为一个初始化其他表单的函数,如下所示:

List wndList=new List();
尝试
{
Assembly uiProject=Assembly.Load(“MMS”);
foreach(在uiProject.GetTypes()中键入t)
{
if(t.BaseType==typeof(MetroWindow))
{
var emptyCtor=t.GetConstructor(Type.EmptyTypes);
if(emptyCtor!=null)
{
MetroWindow f=(MetroWindow)emptyCtor.Invoke(新对象[]{});
//t.FullName将有助于区分不需要的条目和
//以后可能会忽略它们
wndList.添加(f);
}
}
}
返回wndList;
}
捕获(异常错误)
{
//日志异常
返回null;

}
如果来自其他窗口的事件触发,则您正在打开其他窗口。不要这样做。很明显,在其他窗体显示之前,您正在创建它们,它们正在初始化,这会导致事件触发。没有人能告诉你在你的代码中发生了什么而不看到你的代码。谢谢你的评论。我编辑了我的问题并粘贴了代码。