启动画面窗口不加载项目

时间:2014-05-26 14:50:41

标签: c# wpf initialization splash-screen

我试图将窗口用作启动画面。我有这个:

{ 
InitializeComponent();
new splash().ShowDialog();
}

在我的主窗口中启动并且它可以正常工作,但在我按下启动时使用的窗口上,它保持空白。这是我用于启动窗口的代码:

public partial class splash : Window
    {
        public splash()
        {
            InitializeComponent();

        }


        private void Window_Loaded_1(object sender, RoutedEventArgs e)
        {
            System.Threading.Thread.Sleep(3000);
            Close();

        }

因为它只是将窗口空白加载,然后在3秒后移动到主窗口。 我希望启动窗口加载标签和图像。 有任何想法吗? 感谢

1 个答案:

答案 0 :(得分:1)

因此,正如我在评论中已经提到的那样,here是如何为WPF应用程序实现启动画面的极好指南。如果您的初始屏幕只是一个图像,Microsoft也提供了一种更简单的方法(参见here)。

但是代码的主要问题是Sleep(3000)调用,因为它会阻止UI线程。改为使用Timer,您可以在窗口加载的事件处理程序中启动,并关闭Timer的Elapsed事件处理程序中的窗口。

希望这有帮助。

(很抱歉几乎复制了我的评论,但在第三次编辑中,我意识到它实际上应该是一个答案:))