如果不使用StartupUri,我无法显示我的MainWindow。 OnStartup不会触发。
我从App.xaml
中删除了StartupUri<Application x:Class="SCon"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
</Application>
在
背后的代码中添加了以下内容 protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
SCon.MainWindow.Instance.Show();
}
MainWindow是一个单身人士
private static volatile MainWindow instance = null;
private static object lockThis = new object();
public static MainWindow Instance
{
get
{
if (instance == null)
{
lock (lockThis)
{
if (instance == null)
{
instance = new MainWindow();
}
}
}
return instance;
}
}
答案 0 :(得分:2)
Idk你的意思或你坚持的地方。我会检查App.xaml的Build Actions然后我会看看这个网站。
http://www.erikojebo.se/Code/Details/202
那家伙解释得非常好:)
此外,您的问题有点重复。看看这个:How to change StartupUri of WPF Application?
答案 1 :(得分:1)
您需要将以下行放在XAML文件中:
<Application x:Class="SCon"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Startup="OnStartup">
</Application>
这就是它没有触发OnStartup方法的原因。