4

I'm using the SplashScreen functionality in my WPF app (e.g. 400x200px PNG file). On screens with standard DPI, SplashScreen is displayed correctly, but on Retina displays or other High-DPI screens it looks very small. It is possible to provide more PNG resources (with different sizes) and choose one based on screen DPI?

My current implememntation (in App.xaml.cs):

    protected override void OnStartup(StartupEventArgs e)
    {
        SplashScreen splash = new SplashScreen("Resources/Images/splash-screen.png");
        splash.Show(true, true);

        base.OnStartup(e);
    }
Dominik Palo
  • 2,873
  • 4
  • 29
  • 52
  • 1
    Possible duplicate of [How to change splash screen size?](http://stackoverflow.com/questions/20997173/how-to-change-splash-screen-size) – Mark Feldman Jan 21 '16 at 09:12
  • It is a similar question, but I will be ok also with solution based on multiple PNG resources instead of scaling single resource. – Dominik Palo Jan 21 '16 at 09:16
  • 1
    From the answers on that page it doesn't appear to be possible using the built-in splash-screen feature. The [Guidelines for splash screens](https://msdn.microsoft.com/en-us/library/windows/apps/hh465338.aspx) page indicates that you can add 3 specific sizes to support different resolutions but that's for UWP apps on Win10 devices so probably won't work on regular WPF. My suggestion would be to implement it manually e.g. as per the solution on [this page](http://jkshay.com/easily-create-wpf-splash-screen-status-updates-via-mvvm/). – Mark Feldman Jan 21 '16 at 09:18

0 Answers0