2011-01-26 29 views
5

Hôm nay chúng tôi đã tìm thấy một vấn đề lạ ở một trong các ứng dụng WPF của chúng tôi và chúng tôi không chắc chắn cách xử lý nó. Khi chúng tôi chạy phần mềm trên một trong các máy tính xách tay của chúng tôi, màn hình chuyển sang chế độ ngủ (chuyển sang màu đen) sau một thời gian khi không có tương tác người dùng. Ứng dụng tự nó vẫn bận tải xuống dữ liệu từ internet và điền vào các bảng trong cơ sở dữ liệu. Ngoài ra còn có một thanh tiến trình và một thanh trạng thái.Cửa sổ ứng dụng WPF không hoàn toàn làm mới sau khi màn hình thức giấc từ

Nếu chúng ta đánh thức màn hình đơn giản bằng cách di chuyển chuột, chương trình sẽ hiển thị lại nhưng một số phần của cửa sổ không được làm mới. Thanh tiến trình vẫn hiển thị các giá trị ngay cả khi quá trình hoàn tất và thanh trạng thái cũng sai. Từ lúc này bạn có thể làm việc với chương trình như không có gì xảy ra nhưng thanh tiến trình và thanh trạng thái sẽ chỉ được vẽ lại nếu bạn thu nhỏ cửa sổ hoàn chỉnh xuống thanh tác vụ và tối đa hóa nó một lần nữa. Hoặc nếu bạn bắt đầu một hành động khác cũng sẽ sử dụng thanh tiến trình hoặc thanh trạng thái.

Hành vi lạ này gây ra nhiều nhầm lẫn vì dữ liệu được hiển thị có vẻ sai sau khi màn hình thức giấc và bạn cần thu nhỏ và phóng to cửa sổ để xem điều gì đang thực sự xảy ra.

Có gì sai ở đây?

Trả lời

2

Trình điều khiển video có cập nhật không? Nếu không, bạn có thể thử cập nhật chúng. WPF sử dụng phần cứng video để hiển thị. Tôi đã có một số vấn đề làm mới trước và trình điều khiển mới sửa nó.

0

Đảm bảo rằng thao tác nền không hogging chuỗi giao diện người dùng. Nhưng như Cory gợi ý, nó có thể là một vấn đề trình điều khiển video.

0

Tôi có cùng một vấn đề và không có giải pháp, nhưng một ví dụ đơn giản dẫn đến hành vi được mô tả. Có thể nó sẽ giúp tìm kiếm lỗi.

<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> 
Các vấn đề liên quan