2010-04-30 22 views
5

Tôi đã viết một ứng dụng WPF có biểu tượng tùy chỉnh (không phải chuẩn). Một Splashscreen cũng được thực hiện.Biểu tượng ứng dụng bị thiếu trong thanh tác vụ trong khi bắt đầu chương trình, nếu ứng dụng khác đang hoạt động

Biểu tượng được hiển thị chính xác nếu tôi khởi động ứng dụng và chờ cho đến khi nó được tải.

Nhưng, nếu tôi khởi động ứng dụng và chuyển sang ứng dụng khác (ví dụ: Outlook) trước khi màn hình hiển thị giật gân của tôi hiển thị, biểu tượng không được hiển thị trên thanh tác vụ của cửa sổ.

Biểu tượng xuất hiện trực tiếp nếu tôi chuyển qua tab alt + sang ứng dụng của mình.

Bất kỳ ý tưởng nào?

Trả lời

-1

Tôi thấy sự cố tương tự trên một số hệ điều hành nhưng không phải tất cả. Khi tôi chuyển đổi chương trình, biểu tượng tôi có trong thanh tác vụ của tôi được thay đổi thành ứng dụng mặc định onw ("cửa sổ trống"). Nó có vẻ là một vấn đề với WPF chính nó, không phải bất cứ điều gì với chương trình của bạn cho mỗi nói.

0

Tôi đã có cùng một vấn đề với một chương trình được viết bằng ngôn ngữ khác (PowerBuilder, chứ không phải là .Net base one) hoạt động giống hệt nhau. Phải là một vấn đề Windows nếu nó ảnh hưởng nhiều hơn chỉ WPF. Vì vậy, phải có cách để giải quyết vấn đề này.

Có thể khung yêu cầu mục tác vụ "của tôi" theo cách không đúng nếu nó không hoạt động.

Biểu tượng thanh tác vụ xuất hiện trở lại khi đặt tiêu điểm trở lại ứng dụng.

Một giải pháp thô là để làm điều này (Pseudo code):

application.Hide(); 
application.Show() 

Một giải pháp khác (Pseudo code):

Nhưng điều này tạo ra một nhấp nháy khó chịu. Một giải pháp mà chỉ cần "kích hoạt lại" hoặc "vẽ lại" thanh công cụ sẽ tốt hơn!

Nguyên nhân của sự cố (trong trường hợp không phải WPF của tôi) là chương trình hiển thị giao diện người dùng trước khi hàm tạo của cửa sổ chính hoàn tất. I E. một lực vẽ lại/hiển thị của cửa sổ trước khi tất cả các mã khởi tạo được thực hiện. Điều này có thể làm cho Windows nghĩ rằng cửa sổ không phải là một ứng dụng mà là một "hộp thoại" của màn hình giật gân và không gán một mục thanh tác vụ. Khi tôi quản lý để loại bỏ các mã mà sớm cho thấy GUI chính vấn đề đã biến mất.

0

Tôi đã gặp sự cố tương tự với ứng dụng Winforms. Các giải pháp tôi tìm thấy có thể giúp ứng dụng WPF của bạn quá.

Chỉ cần đảm bảo tiêu đề của cửa sổ không thay đổi, cho đến thời điểm có thể cuối cùng. Trong Winforms, tôi đã di chuyển dòng Text = "blahblah" ra khỏi sự kiện Form_load và vào sự kiện Form1_Shown, và bây giờ vấn đề biểu tượng thanh tác vụ ẩn đã biến mất.

Các vấn đề liên quan