microsoft-ui-xaml icon indicating copy to clipboard operation
microsoft-ui-xaml copied to clipboard

Splash screen not displayed for WinUI Desktop

Open Berkunath opened this issue 4 years ago • 28 comments

Splash screen not displayed for WinUI Desktop I have WinUI Desktop application and I would like to display the Splash screen before content of Window loads. But splash screen not displayed even we have Splash screen Images. Currently empty screen displays for 2 to 3 seconds.

Expected behavior Splash Screen should display on start up of the application

Version Info [Microsoft.WinUI 3.0.0-preview3.201113.0]

Berkunath avatar Jan 29 '21 08:01 Berkunath

I think that Splash screens are a UWP concept. I think that if you want to show one in a win32 app, you'll need to do it yourself. @Austin-Lamb might know more.

StephenLPeters avatar Feb 02 '21 00:02 StephenLPeters

@StephenLPeters is right. Splash Screens are not implemented yet in WinUI 3 Desktop. You can create a feature proposal :)

marb2000 avatar Feb 09 '21 06:02 marb2000

But there is an option to provide Splash screen in desktop projects. image

Does it will be removed in future?

jeganraj-m avatar Mar 15 '21 11:03 jeganraj-m

Looking forward for native splash screen support added to WinUI 3, Splash Screen Like UWP does really makes a difference in User Experience

AathifMahir avatar Apr 30 '22 17:04 AathifMahir

Why does it feel that with every new development platform Microsoft comes up with, things are going backwards? No splash screen, no XAML designer, right click text box crashing bug for more than a year, no topmost window etc. etc. What have we done to deserve Microsoft's "punishment"? :/

CAKCy avatar May 10 '22 15:05 CAKCy

Looking forward for native splash screen support added to WinUI 3, Splash Screen Like UWP does really makes a difference in User Experience

A Splash Screen is very simple to implement I posted a basic sample with a Layered window in another thread #6942 You can improve it...

castorix avatar May 10 '22 16:05 castorix

I will add my 'thoughts' on this, using .Net MUAI with Blazor, splash screen becomes more important than before, because we have a lot of weird 'flashs' when the app is starting, we have some forecolor that flashs, than the white from the html page, than the 'background' of the page when the css loads, and only than we have the loading message inside the blazor... It may make sense in a dev perspective, but looking with the user point of view....., its really bizare.

With a splashscreen that loads all that in background and blazor signal back that everything is ready and the splashscreen fades out would be awesome.

michelkommers avatar May 25 '22 20:05 michelkommers

Second to @michelkommers. For those coming later here from the linked Maui threads, I took a look at example provided by @castorix (thanks!), but at least for me it's not clear how to make use of it in a Maui app. Probably there's a way.

<edit>Maybe possible using https://github.com/dotMorten/WinUIEx/blob/main/docs/concepts/Splashscreen.md </edit>.

kuva kuva

veikkoeeva avatar Jul 09 '22 18:07 veikkoeeva

I made a MAUI app, the Android version has a default splashscreen, but when I click on the Windows version, nothing happens for 3-5 whole seconds. There is no feedback of the app loading, sometimes you click again, just to make sure the app is really loading. And sudenly the app pops up out of nowhere.

This really reminds me of the Windows XP user experience. I guess that's what I can expect from Win32 powered application...

But honestly, in modern time, it needs modern user experience. Not the Windows XP and Vista user experience.

Splashscreen should be the default option, not the otherway around... honestly, there is really no reason not to have a splashscreen for apps.

Worst of all, UWP (WinUI2) has build-in splashscreen...... why would WinUI3 not have splashscreen. I feel like WinUI3 is going backwards in time.

Qws avatar Aug 29 '22 17:08 Qws

This is important!

Laftek avatar Sep 08 '22 21:09 Laftek

Exactly, Splash Screen is Must for WinUI 3 for better user experience and consistency sake, Currently many apps that uses WinUI 3 does implement custom splash screen that causes inconsistency between each different apps since many WinUI 3 Apps Uses Different Design and Different Implementation for Splash Screen.

In my case, on my DotNet Maui App. I developed a custom splash screen to complement the User experience by Using Same UWP Splash Screen Design Language but that differs from Other Implementations, Therefore having a native splash screen is a must on my case

AathifMahir avatar Sep 08 '22 21:09 AathifMahir

Same as @Qws I get a black screen for a few seconds when my app is loading.

How does something so fundamental and open for almost 2 years now not even have a priority or milestone assigned yet?

As mentioned there is a UI for setting splash screen resources in Visual Studio that creates assets fine as with UWP, but they simply never show. Same with Maui Splash functionality.

.Net Maui documentation doesn't even list it as a limitation, it just covers how to implement on Android/iOS.

Is this being taken seriously?

breenbob avatar Nov 17 '22 16:11 breenbob

Best part is that Asignee is not even working for microsoft for some time…. Its sad how some fundamental functions are being neglected (also MAUI).

Laftek avatar Nov 17 '22 21:11 Laftek

You are right, all kudos to the team MAUI and ASP.NET but as you mentioned lack of manpower is taking its price. I have big expectations for .NET8 tough! I think it will be gamechanger (kinda).

Laftek avatar Nov 17 '22 22:11 Laftek

Any update on this ??? I don't wanna to re-invent the wheel.

Reza-Noei avatar Jul 10 '23 00:07 Reza-Noei

We have end of 2023 soon, and WinUI does not support well SplashScreen or XAML Designer. Any updates on the subject in this ticket?

mklemarczyk avatar Oct 20 '23 15:10 mklemarczyk

Maybe the TemplateStudio guys can come to the rescue?

gmgallo avatar Dec 19 '23 16:12 gmgallo

Any updates? This issue is open for 3 years.

GuidoNeele avatar Feb 23 '24 08:02 GuidoNeele

Any updates? This issue is open for 4 years.

AliShahesmaeili avatar Apr 11 '24 18:04 AliShahesmaeili

I used this by @castorix as inspiration to add our own splash screen. We are using .NET MAUI on Windows and the startup time is super slow, you really need a splash screen to show the user something is happening.

GuidoNeele avatar Apr 11 '24 18:04 GuidoNeele

Check WinUIEx @dotMorten has a splash window for WinUI 3 in there and I think he may have something for MAUI.

gmgallo avatar Apr 12 '24 00:04 gmgallo

I guess we'd better keep posting so the bot doesn't close it.

After a full day of trial and error and a ridiculous amount of Win32 interop, I finally managed to make a splash screen that was properly centered, didn't flash white before being displayed, etc.

While I appreciate community efforts such as @dotMorten's, if this isn't part of the framework then I wanted to know how to do it myself. In fact successful community and self-help efforts only underscore how inexplicable it is to omit this from the framework.

The splash screen is literally the first thing our users will see when they launch. (Ever hear that thing about first impressions?) Show me a Microsoft app (other than those built into Windows) that doesn't have a splash screen. For that matter show me a single retail Windows application by anyone that doesn't have a splash screen.

The lack of something this ubiquitous in the main framework is, to me, a sign of a bigger problem.

legistek avatar May 08 '24 16:05 legistek

After a full day of trial and error and a ridiculous amount of Win32 interop, I finally managed to make a splash screen that was properly centered, didn't flash white before being displayed, etc.

Would you like to share so that other people could also implement it. Thanks in advance!

NeerajGulia avatar May 09 '24 05:05 NeerajGulia

Oh I figured the one in WinUIEx was as good if not better. I just wanted to learn for myself how to do it from scratch. It's quite a lot of code in different places and not really self-contained. It's basically how I'd have done it 30 years ago, except in C#.

I will say one very tricky part was avoiding the white flash because the moronic default window will WM_PAINT itself white before it draws anything else no matter what you do. So I had to start with a transparent window using https://github.com/cnbluefire/WinUI3TransparentBackground which includes hooking into WndProc to override the moronic default behavior. But again I think WinUIEx is basically doing the same thing so I'd just look at his code and not my fingerpainting as the reference.

legistek avatar May 09 '24 12:05 legistek