أي عيب لاستخدام elementHost لاستضافة WPF USERCONTROL في تطبيق winform؟

StackOverflow https://stackoverflow.com/questions/2269410

سؤال

فضولي إذا كان هناك أي عيوب لاستخدام elementhost لاستضافة WPF UserControl في تطبيق Winform؟

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

ومع ذلك ، هناك حالات يكون فيها WPF أمرًا مرغوبًا فيه بالنسبة لي لأنها سهولة نسبية لإنشاء واجهة منمقة. النظر في التحكم في مشغل الفيديو ؛ في WPF ، يمكنني إنشاء شيء يبدو لطيفًا ومخصصًا للغاية ، لكنه استغرق وقتًا وجهد أقل بكثير من التحكم في WinForms. في هذه الحالات ، من المنطقي بالنسبة لي استخدام WPF منذ أن انتهيت من قضاء وقت أقل مما كنت سأحصل عليه الإفراط في الإفراط في الإفراط في الإفراط :-).

أدرك أنني أستخدم الكثير من المصطلحات الذاتية ، لكن هذا هو منطقي وراء السؤال الأصلي.

تحديث:

فقط لتوضيح مثال "التحكم في مشغل الفيديو". ليس فقط WPF يعطيني MediaElement للعب مع ولكن إذا كنت أرغب في القول ، فإن تراكب زر تشغيل على الفيديو عندما يتم إيقافه مؤقتًا أو إذا أردت شريطًا شبه شفاف "Play/Stop/Volume" ، WPF يجعل هذا أبسط بكثير من أي بديل winforms.

تعديل:

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

تحديث:

اي شخص اخر؟ أنا أكثر قلقًا بشأن تأثيرات الأداء و/أو قيود الميزات التي سيتم تقديمها من خلال استضافة WPF UserControl في elementhost. حتى الآن يبدو أن هناك النفقات العامة لوقت التشغيل ولكن هل هذا كل شيء؟

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

المحلول

أرى بعض العيوب المحتملة.

أولاً ، لديك الآن اثنين طرق عرض واجهة المستخدم. يمكن أن يمثل ذلك مشكلات من وجهة نظر الصيانة اعتمادًا على المطورين الذين يلمسون الرمز.

ثانياً ، لدى WPF وقت تشغيل مرتبط به (لإرسال الأحداث ، وإدارة الممتلكات التبعية ، إلخ ، إلخ) ، لكنها تكلفة لمرة واحدة. إذا كنت تستخدم ذلك لعدد صغير من عناصر التحكم ، فأنت تدفع تكلفة كبيرة نسبيًا بما يتناسب مع استخدامها.

لن أقول أن هذه خواص الصفقات ، كل ذلك يعتمد على تطبيقك وفريقك.

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