2010-04-30 9 views
5

मैंने एक WPF एप्लिकेशन लिखा है जिसमें एक कस्टम (मानक नहीं) आइकन है। एक स्पलैशस्क्रीन भी लागू किया गया है।प्रोग्राम प्रारंभ के दौरान टास्कबार में एप्लिकेशन आइकन गुम है, यदि कोई अन्य एप्लिकेशन सक्रिय है

यदि मैं एप्लिकेशन शुरू करता हूं और लोड होने तक प्रतीक्षा करता हूं तो आइकन सही ढंग से प्रदर्शित होता है।

लेकिन, अगर मैं अपना स्प्लैश स्क्रीन दिखाए जाने से पहले अपना एप्लिकेशन शुरू करता हूं और किसी अन्य एप्लिकेशन (जैसे Outlook) पर स्विच करता हूं, तो आइकन विंडोज़ टास्क बार में प्रदर्शित नहीं होता है।

यदि मैं अपने एप्लिकेशन में alt + टैब के माध्यम से स्विच करता हूं तो आइकन सीधे दिखाई देता है।

कोई विचार?

उत्तर

-1

मुझे कुछ ओएस पर एक समान समस्या दिखाई देती है लेकिन सभी नहीं। जब मैं प्रोग्राम स्विच करता हूं, तो मेरे टास्कबार में मौजूद आइकन को डिफ़ॉल्ट एप्लिकेशन onw ("खाली विंडो") में बदल दिया जाता है। ऐसा लगता है कि डब्ल्यूपीएफ के साथ ही कोई समस्या नहीं है, आपके कार्यक्रम के साथ कुछ भी नहीं।

0

मुझे एक और भाषा में लिखा गया एक प्रोग्राम था (पावरबिल्डर, और नेट बेस एक नहीं) जो वास्तव में वही व्यवहार करता है। विंडोज़ समस्या होनी चाहिए यदि यह सिर्फ डब्ल्यूपीएफ से ज्यादा प्रभावित हो। तो इस के आसपास काम करने का एक तरीका होना चाहिए।

शायद ढांचा "मेरे" टास्कबार आइटम को गलत तरीके से पूछने के लिए कहता है यदि यह सक्रिय नहीं है।

एप्लिकेशन पर फ़ोकस सेट करते समय टास्कबार आइकन फिर से दिखाई देता है।

एक कच्चे समाधान इस (छद्म कोड) करना है:

application.Hide(); 
application.Show() 

एक अन्य समाधान (छद्म कोड):

लेकिन यह एक बुरा निमिष पैदा करता है। एक समाधान जो सिर्फ "पुनः सक्रिय" या "redraws" टूलबार बेहतर होगा!

समस्या का कारण (मेरे गैर WPF मामले में) यह है कि कार्यक्रम मुख्य विंडो के निर्माता से पहले एक यूआई दिखाता है। अर्थात। सभी प्रारंभिक कोड किए जाने से पहले खिड़की का एक बल फिर से निकालना/शो। यह शायद विंडोज को यह सोचने का कारण बनता है कि विंडो एक अनुप्रयोग नहीं है बल्कि स्प्लैश स्क्रीन का "संवाद" है और टास्कबार आइटम असाइन नहीं कर रहा है। जब मैं उस कोड को हटाने में कामयाब रहा जो मुख्य रूप से मुख्य जीयूआई दिखाता है तो समस्या दूर हो गई।

0

मुझे Winforms ऐप के साथ बिल्कुल वही समस्या थी। मैंने जो समाधान पाया वह आपके डब्ल्यूपीएफ ऐप को भी मदद कर सकता है।

बस सुनिश्चित करें कि आखिरी संभव पल तक विंडो का शीर्षक बदला नहीं गया है। Winforms में, मैंने Form_load ईवेंट से Text = "blahblah" लाइन को और Form1_Shown ईवेंट में स्थानांतरित कर दिया, और अब वह छुपा टास्कबार आइकन समस्या गायब हो गई है।

संबंधित मुद्दे