سؤال

لقد قرأت الأخرى ذات السؤال ولكن أنا غير قادر على الحصول على حقا لهم أن تتصل هذه حتى ظننت أنه من الأفضل أن نسأل ، ايم جميلة جديدة إلى WPF و لذا يرجى تتحمل معي.

أنا باستخدام هذا http://www.codeproject.com/KB/WPF/wpf_notifyicon.aspx api للعمل مع العرف WPF ويندوز (على وجه الخصوص FancyBalloon).

ومع ذلك, أنا قادم عبر المشكلة التالية, يبدو أنني غير قادر على أن تبدأ BalloonTips في موضوع مستقل ( أحتاج هذا لأنني تحليل رسائل البريد الإلكتروني ومن ثم إذا كان هناك 3 رسائل البريد الإلكتروني على سبيل المثال ، فإنه يعرض البريد الإلكتروني الأول (أن يعمل بشكل جيد) ، ولكن عندما يتعلق الأمر إلى البريد الإلكتروني الثاني تعطل مع TargetInvocationException , {"للعنصر المحدد بالفعل منطقية الطفل من عنصر آخر.فصلها الأول."}.

الشيء هو, im يفترض العمل مع نفس المثال وحاولت يدعو إلى إغلاقه من قبل التخلص ذلك الخ ولكن دون جدوى.(ثم مرة أخرى إذا كنت التخلص منها ، أنا غير قادر على إنشاء مثيل آخر كما يبدو WPF مكونات واجهة المستخدم يجب أن يكون من ساكنة الموضوع حتى طوال حلقات من رسائل البريد الإلكتروني + عرض بالون ، وأنا أحاول أن استخدام نفس BalloonTip.

أي اقتراحات من فضلك ؟ أنا حقا في حيرة هنا و أنا أعمل عليها لبعض الوقت الآن :/

كنت أتساءل إذا كان هناك أي شخص

هل كانت مفيدة؟

المحلول

في عام ، WPF ضوابط ينبغي أن يكون الوصول إليها وتحديثها فقط على الرئيسية UI.هناك موضوع تقارب الشيكات في جميع أنحاء ربط البيانات أحشاء التي سوف رمي استثناء إذا كان يجب تعيين إلى بيانات متجهة الممتلكات من أي موضوع ليس WPF UI ، على سبيل المثال.

يمكنك إما إزالة رمز واجهة المستخدم من الخلفية الخاصة بك ترابط أو الاستفادة الرشيدة من SynchronizationContext الاحتجاج من ترابط خلفية قصاصات من التعليمات البرمجية على تنفيذ UI.

إذا كنت جديدا على WPF أو جديدة خيوط, يجب الحفاظ على واجهة المستخدم الاشياء من المواضيع الأساسية.WPF لديها الكثير من التعقيد لإبقاء كنت مشغولا دون إضافة الصداع إضافية من خيوط القضايا إلى المزيج.

نصائح أخرى

يبدو أنك تضيف نفس عنصر واجهة المستخدم متعددة الحاويات الأصل في نفس الوقت.

على سبيل المثال, إذا كنت محاولة myStackPanel.الأطفال.إضافة(myUIElement) بشكل متزامن في المواضيع المنفصلة ، مشيرا إلى نفس عنصر واجهة المستخدم كائن ، وهذا من شأنه أن يسبب خطأ ترونه.

إذا كنت في حاجة إلى نفس عناصر واجهة المستخدم متعددة المواضيع ، النظر في استنساخ لهم أو نقل واجهة المستخدم الخاصة بك المنطق إلى الخيط الرئيسي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top