English 中文(简体)
WPF 飞溅屏幕和主窗口加载事件
原标题:WPF splash screen and main window loaded event

基本上,我的应用程序在主窗口 LOADED 事件中做很多事情。

我只想让此时间显示一些飞溅屏幕 < / 坚固 > ( LOADED event), 并且根本不显示主窗口 。

我在这里找到了一个例子,但这不是一个好例子。 < a href=>https://stackoverflow.com/maisses/ 1741922/wpf-splashscre-pmenting>> < this 提示也覆盖了我的目的。

另外,我还想展示每个阶段,我在水滴屏幕下在LOADED事件下做什么。所以我想在水滴屏幕上添加一个状态更新。完成的每一项任务都将更新水滴屏幕状态标签。

有什么线索吗?

谢谢!

最佳回答

我在这里找到了一些很酷的解决方案 http://plaincolumn.blogspot.com/2009/11/wpf-splash-screen- with-status- update.html

所以它符合我的需求 100%。

问题回答

这是给你的小密码

  void TemplateSelector_Loaded(object sender, RoutedEventArgs e)
        {
            showWin();

            Thread.Sleep(10000);


            CloseWin();

        }

        private void CloseWin()
        {
            WindowManager.Close();
        }
        Window tempWindow = new Window();
        public void showWin()
        {
            WindowManager.LaunchWindowNewThread<SplashWindow>();

        }
    }

    public class WindowManager
    {
        private static Window win;
        public static void LaunchWindowNewThread<T>() where T : Window, new()
        {
            Thread newWindowThread = new Thread(ThreadStartingPoint);
            newWindowThread.SetApartmentState(ApartmentState.STA);
            newWindowThread.IsBackground = true;

            Func<Window> f = delegate
            {
                T win = new T();
                return win;
            };

            newWindowThread.Start(f);
        }

        private static void ThreadStartingPoint(object t)
        {
            Func<Window> f = (Func<Window>)t;
            win = f();

            win.WindowStartupLocation = WindowStartupLocation.CenterScreen;
            win.Topmost = true;
            win.Show();
            Dispatcher.Run();
        }
        public static void Close()
        {

            if (win != null)
                win.Dispatcher.BeginInvokeShutdown(DispatcherPriority.Send);

        }
    }

您可以随意修改。





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签