如何在应用启动时预加载XAML?

Pom*_*oma 5 .net c# wpf xaml

我有一个很大的UserControl,它没有显示在主屏幕上,但是用户以后几乎总是使用它。第一次加载(解析BAML等)需要花费一些时间,然后其他实例的构建速度很快。问题是如何使其在启动屏幕期间在应用启动时预加载?

我的想法是在启动时构造用例:

void Startup()
{
    //....
    new MyCustomControl();
    //....
} 
Run Code Online (Sandbox Code Playgroud)

但是然后我必须处理特殊情况的构造(它没有没有args的默认构造函数)。我认为应该有更方便的方法。

pap*_*zzo 0

您可以使用应用程序或启动

    App()
    {
        System.Diagnostics.Debug.WriteLine("App ctor");
        //ctor
    }

    private void Application_Startup(object sender, StartupEventArgs e)
    {
        System.Diagnostics.Debug.WriteLine("App Startup");
    }
Run Code Online (Sandbox Code Playgroud)