2011-01-26 12 views
5

Hoy hemos encontrado un pequeño problema extraño en una de nuestras aplicaciones WPF y no estamos seguros de cómo lidiar con él. Cuando ejecutamos el software en una de nuestras computadoras portátiles, la pantalla se queda dormida (se vuelve negra) después de un tiempo cuando no hay interacción del usuario. La aplicación en sí todavía está ocupada descargando datos de internet y llenando tablas en una base de datos. También hay una barra de progreso y una barra de estado.Las ventanas de la aplicación WPF no se actualizan completamente después de que la pantalla se despierta de la memoria

Si reactivamos la pantalla simplemente moviendo el mouse, el programa se muestra nuevamente pero algunas partes de la ventana no se actualizan. La barra de progreso aún muestra los valores incluso si el proceso se completó y la barra de estado también es incorrecta.

A partir de este momento puede trabajar con el programa como si nada hubiera pasado, pero la barra de progreso y la barra de estado solo se volverán a dibujar si minimiza la ventana completa de la barra de tareas y la maximiza nuevamente. O si inicia otra acción que también usará la barra de progreso o la barra de estado.

Este extraño comportamiento causó mucha confusión debido a que los datos mostrados parecen estar equivocados después de que la pantalla se despierta de la suspensión y necesita minimizar y maximizar la ventana para ver qué está sucediendo realmente.

¿Qué pasa aquí?

Respuesta

2

¿Los controladores de video están actualizados? De lo contrario, puede intentar actualizarlos. WPF utiliza hardware de video para su renderizado. He tenido algunos problemas refrescantes antes y los nuevos controladores lo arreglaron.

0

Asegúrese de que la operación en segundo plano no acapara el hilo de la interfaz de usuario. Pero, como sugiere Cory, podría ser un problema de controlador de video.

0

Tengo el mismo problema y no hay solución, pero es un ejemplo simple que conduce al comportamiento descrito. Puede ser que ayude en la búsqueda de errores.

<Window x:Class="BlackAfterMinimize.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" SizeToContent="WidthAndHeight" WindowState="Minimized"> 
    <Grid> 
    <TextBlock Text="Hello World" /> 
    </Grid> 
</Window> 
Cuestiones relacionadas