WPF启动屏幕实现

6

我希望你能帮忙翻译一下关于在WPF中实现启动画面的内容。在MSDN上我找到了一些很好的示例,但是有一个问题:

private void _applicationInitialize(SplashScreen splashWindow)
{

    Thread.Sleep(1000);

    // Create the main window, but on the UI thread.

    Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Invoker)delegate
    {

        Window1 MainWindow = new Window1();

        Helper.setWin(MainWindow);

        MainWindow.Show();

    });

}

问题是关于Helper,它的类名是什么以及它必须如何实现。有人可以贴一个例子或其他内容吗?

2个回答

12

有一种更简单的方法:

http://msdn.microsoft.com/zh-cn/library/cc656886.aspx

  1. 将图像文件添加到 WPF 应用程序项目。有关详细信息,请参阅 如何:向项目添加现有项。
  2. 在“解决方案资源管理器”中,选择图像。
  3. 在“属性”窗口中,单击“生成操作”属性下拉箭头。
  4. 从下拉列表中选择“SplashScreen”。

1
你忘记了最后一步:4. 从下拉列表中选择 SplashScreen。 - Ray Burns
1
这个答案非常好,特别是对于初学者来说。感谢。 - Vytas

6

您可以使用以下代码在启动时显示图片:

<Application
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml" Startup="Application_Startup">

在代码后台:

private void Application_Startup(object sender, StartupEventArgs e)
{
    SplashScreen screen = new SplashScreen("Images/splash.bmp");
    screen.Show(true);
}

3
您的示例展示了一个启动画面并保持其打开状态。实际上,启动画面应该在主窗口之前显示,并且必须在主窗口出现之前自动关闭。 - Vytas
2
show方法中的布尔值被命名为autoclose。这使得WPF可以自动处理在主窗口加载事件上关闭启动屏幕。 - Guy
也许你可以粘贴你的启动屏窗口代码吗?那样会更容易理解。 - Vytas
1
这是一个标准的WPF类:System.Windows.SplashScreen。 - Guy
我在代码中没有引用启动画面,这就是全部内容。 - Guy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接