2009-10-27 9 views
5

He seguido los sencillos pasos descritos en How to: Add a Splash Screen to a WPF Application para agregar una pantalla de bienvenida a mi aplicación WPF. Cuando inicio la aplicación, se muestra la imagen de bienvenida, luego aparece la ventana principal y la imagen de bienvenida se desvanece.La ventana de la aplicación WPF aparece en la parte superior de SplashScreen

Mi problema es que cuando aparece la ventana principal, aparece en la parte superior de la imagen de bienvenida. Luego, cuando la imagen de bienvenida comienza a desaparecer, la imagen de bienvenida aparece nuevamente en la parte superior. El resultado final es que la imagen de bienvenida desaparece por una fracción de segundo cuando aparece la ventana principal.

¿Cómo puedo obligar a la ventana principal a aparecer debajo de la imagen de bienvenida, para que la imagen de bienvenida no desaparezca?

Respuesta

1

¿Este no es el comportamiento predeterminado, debe tener algún código que enfoque manualmente la ventana principal?

Puede ser más fácil simplemente para desactivar el fundido de forma manual con un poco de código como este:

_splash = new SplashScreen("LoadingScreen.png");

_splash.Show(false);

_splash.Close(TimeSpan.Zero);

+0

Voy a ver si hay algún código que esté enfocando; podría ser de un componente de terceros. Desde que agregué la pantalla de presentación utilizando Build Action de un recurso, ¿cómo podría acceder a ella como lo hizo ...? –

+0

En su archivo app.cs, declare un campo global "SplashScreen _splash; protected"; En el constructor tenemos las primeras dos líneas de código desde arriba. En su evento OnStartup al final del método una vez completada la lógica de inicio, inserte la última línea de código anterior. Eso debería ser. – Daniel

0
No

seguro de si esto ayuda, pero Si configuras al propietario de la pantalla de Splash en el formulario actual, entonces ¿esto podría hacer el truco?

_splash.Owner = this; 

De lo contrario se puede ver aquí:

Splash Screen Example

Esto podría ayudar también.

6

En .NET 4.0 se ha agregado overload al método Mostrar que permite establecer el estilo de ventana WS_EX_TOPMOST en la ventana de la pantalla de presentación. Mostrar la pantalla de bienvenida en el código como el siguiente:

SplashScreen splash = new SplashScreen("SplashScreen.png"); 
splash.Show(autoClose: true, topMost: true); 

que yo llamo el método de

protected override void OnStartup(StartupEventArgs e) 

en App.xaml.cs.

"SplashScreen.png" es, por supuesto, el identificador de su imagen splash incrustada en los recursos de la aplicación.

Cuestiones relacionadas