2011-01-26 28 views
5

今天,我們在我們的WPF應用程序中發現了一個奇怪的問題,我們並不確定如何處理它。當我們在我們的一臺筆記本電腦上運行軟件時,屏幕會在沒有用戶交互的情況下過一段時間後進入睡眠狀態(變黑)。它的應用程序本身仍然忙於從互聯網上下載數據並在數據庫中填充表格。還有一個進度條和一個狀態欄。WPF應用程序窗口在屏幕從睡眠中醒來後不會完全刷新

如果我們通過簡單地移動鼠標來喚醒屏幕,程序會再次顯示,但窗口的某些部分不會刷新。即使進程已完成且狀態欄也出錯,進度欄仍顯示值。

從此時起,您就可以像程序一樣工作,只需將完整窗口最小化到任務欄並再次最大化,進度條和狀態欄就會重新繪製。或者,如果您啓動另一個也會使用進度條或狀態欄的操作。

這種奇怪的行爲引起了很多混亂,因爲顯示的數據在屏幕從睡眠中醒來後似乎是錯誤的,您需要最小化和最大化窗口以查看實際發生的情況。

這裏有什麼問題?

回答

2

視頻驅動程序是否是最新的?如果沒有,你可以嘗試更新它們。 WPF利用視頻硬件進行渲染。之前我有過一些令人耳目一新的問題,新的驅動程序修復了它。

0

確保後臺操作不佔用UI線程。但正如Cory所言,這可能是視頻驅動程序問題。

0

我有同樣的問題,沒有解決方案,但一個簡單的例子,導致描述的行爲。可能會有助於錯誤搜索。

<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> 
相關問題