【问题标题】:WPF SplashScreen implementingWPF SplashScreen 实现
【发布时间】:2009-11-16 12:33:35
【问题描述】:

我尝试在 WPF 中实现 Splash Screnn。我在 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,那里有什么类以及它必须如何实现。有人可以贴一个例子吗?

【问题讨论】:

    标签: wpf splash-screen


    【解决方案1】:

    还有一个更简单的方法:

    http://msdn.microsoft.com/en-us/library/cc656886.aspx

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

    【讨论】:

    • 您错过了最后一步: 4. 从下拉列表中选择 SplashScreen。
    • 这个答案非常好,尤其适合初学者。谢天谢地。
    【解决方案2】:

    您可以使用这样的代码在启动时显示图像:

    <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);
    }
    

    【讨论】:

    • 您的示例显示了一个启动屏幕并保持打开状态。实际上闪屏必须在主窗口之前显示,并且必须在主窗口出现之前自动关闭。
    • show 方法上的布尔值名为 autoclose。这允许 WPF 自动处理在主窗口加载事件上关闭初始屏幕。
    • 也许你可以粘贴你的启动屏幕窗口代码?这更容易理解。
    • 这是一个标准的 wpf 类:System.Windows.SplashScreen
    • 我没有在代码的其他任何地方引用启动画面,这就是它的全部内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-15
    相关资源
    最近更新 更多