السيناريوهات المدعمة في WPF و التشغيل التفاعلي Windows Forms
WPF وWindows Forms يقدمان هيكلين مختلفين لإنشاء واجهات التطبيق. مساحة الاسم System.Windows.Forms.Integration توفر الفئات التي تمكن سيناريوهات العمليات الداخلية الشائعة . فئتي المفتاح اللذان يقوما بتطبيق قدرات العمليات الداخلية هما WindowsFormsHost و ElementHost. يصف هذا الموضوع أي سيناريوهات للعمليات الداخلية قد تم دعمه و أيهم لم يتم دعمه.
ملاحظة |
---|
يتم إعطاء الاعتبارات الخاصة لـلسيناريو الخاص بــ عنصر التحكم المختلط.عنصر التحكم المختلط يحتوي على عنصر التحكم من تقنية واحدة متداخلة في عنصر تحكم من تقنية أخرى.وتسمى أيضاً العملية الداخلية المتداخلة . عنصر التحكم المختلط المتعدد المستويات لديه أكثر من مستوى لتداخل عنصر التحكم المختلط.مثال العمليات الداخلية المتداخلة متعددة المستويات هو Windows Forms عنصر التحكم الذي يحتوي على WPF عنصر التحكم ، الذي يحتوي على عنصر تحكم Windows Forms آخر.لا يتم دعم عناصر التحكم المختلطة متعددة المستويات. |
يشتمل هذا الموضوع على الأقسام التالية.
- تطبيق مبني على Windows Presentation Foundation يستضيف عناصر تحكم النماذج Windows
- تطبيق مبني على نماذج Windows يستضيف عناصر تحكم Windows Presentation Foundation
- موضوعات ذات صلة
تطبيق مبني على Windows Presentation Foundation يستضيف عناصر تحكم النماذج Windows
يتم دعم سيناريوهات العمليات الداخلية التالية عند استضافة عنصر تحكم WPF لعنصر تحكم Windows Forms :
WPF قد يقوم عنصر التحكم باستضافة واحد أو أكثر من Windows Forms عناصر التحكم باستخدام XAML.
قد يستضيف واحد أو أكثر من Windows Forms عناصر التحكم باستخدام التعليمات البرمجية.
أنه قد يستضيف Windows Forms حاوية عناصر التحكم التي تحتوي على آخرين من Windows Forms عناصر التحكم.
أنه قد يقوم باستضافة نموذج رئيسي/تفصيلي بــ WPF الرئيسي و تفاصيل Windows Forms.
أنه قد يقوم باستضافة نموذج رئيسي/تفصيلي بــ Windows Forms الرئيسي و تفاصيل WPF.
قد يستضيف واحد أو أكثر من عناصر التحكم ActiveX .
قد يستضيف واحد أو أكثر من عناصر التحكم المركبة .
أنه قد يقوم باستضافة عناصر التحكم المختلطة باستخدام Extensible Application Markup Language (XAML).
أنه قد يقوم باستضافة عناصر التحكم المختلطة باستخدام التعليمات البرمجية .
دعم التخطيط
توضح القائمة التالية القيود المعروفة عندما يحاول عنصر WindowsFormsHost تكامل عنصر تحكم Windows Forms المضيف له إلى نظام تخطيط WPF.
في بعض الحالات، عناصر تحكم Windows Forms لا يمكن تغيير حجمها أو يمكن تغيير الحجم فقط إلي أبعاد محددة. على سبيل المثال، عنصر تحكم Windows Forms ComboBox يدعم فقط ارتفاع واحد، والذي تم تعريفه بواسطة حجم الخط لعنصر التحكم. في تخطيط WPF الحيوي الذي يفترض مد العناصر عمودياً ، عنصر تحكم ComboBox المضاف لن يتمدد كما هو متوقع.
عناصر تحكم Windows Forms لا يمكن تدويرها أو انحرافها. على سبيل المثال، عندما تقوم بتدوير واجهة المستخدم الخاصة بك صواب بمقدار 90 درجة ، عناصر التحكم Windows Forms المستضافة ستحتفظ الموضع المستقيم الخاص بهم.
في معظم الحالات، عناصر تحكم Windows Forms لا تدعم تغيير الحجم المتناسب. على الرغم من أن الأبعاد الكلية لعنصر التحكم سوف يتغير حجمها, عناصر التحكم التابعة و عناصر المكون لعنصر التحكم قد لا يتغير حجمهم كما هو متوقع. يعتمد هذا القيد على كيفية جودة كل عنصر تحكم Windows Formsفي دعم المقياس.
في واجهة مستخدم WPF، يمكنك تغيير الترتيب التصاعدي للعناصر للتحكم في تراكب السلوك. يتم رسم عنصر تحكم Windows Forms المستضاف في HWND منفصلة بحيث يتم دوماً رسمها في أعلى عناصر WPF.
عناصر تحكم Windows Forms تدعم تغيير الحجم التلقائي استناداً إلى حجم الخط. في واجهة مستخدم WPF, تغيير حجم الخط لا يغير حجم التخطيط بأكمله على الرغم من أن العناصر الفردية قد تغير حجمها بشكل حيوي.
خصائص Ambient :
بعض خصائص ambient الخاصة بـعناصر تحكم WPF لها معادلات Windows Forms . تم نشر هذه الخصائص ambient في عناصر التحكم Windows Forms المستضافة و كشفها كخصائص عامة على عنصر التحكم WindowsFormsHost . عنصر التحكم WindowsFormsHost يترجم كل WPF خاصية ambient في Windows Forms المكافئ له.
لمزيد من المعلومات، راجع تعيين خاصية WPF و Windows Forms.
السلوك
يصف الجدول التالي سلوك العملية الداخلية.
السلوك |
معتمد |
غير مدعم |
---|---|---|
شفافية |
تقديم عنصر التحكم Windows Forms يدعم الشفافية. الخلفية لأصل عنصر التحكم WPF يمكن أن يصبح خلفية عناصر تحكم Windows Forms المستضافة . |
بعض عناصر تحكم Windows Forms لا تدعم الشفافية. على سبيل المثال، عناصر التحكم TextBox و ComboBox لن تكون عناصر تحكم شفافة عندما تتم استضافتها من قبل WPF. |
tabbing التبويب |
ترتيب علامة التبويب لعناصر التحكم Windows Forms المستضافة هي نفسها عند استضافة عناصر التحكم هذه في التطبيق المبني على Windows Forms . التبويب من عنصر التحكم WPF إلى عنصر التحكم Windows Forms عن طريق المفتاح TAB و مفاتيح SHIFT + TAB تعمل كالمعتاد. عناصر التحكم Windows Forms التي تحتوي على قيمة الخاصية TabStop لــfalse لا تتلقي التركيز عند تبويب المستخدم خلال عناصر التحكم.
|
غير متوفر. |
التنقل بمفاتيح الأسهم |
|
غير متوفر. |
المسرّعات |
مسرعات العمل كالمعتاد ، باستثناء أن يصرح في العمود "غير مدعم". |
لا تعمل مسرعات مكررة عبر التقنيات مثل مسرعات مكررة عادية. عند تكرار تسريع عبر تقنيات ، بواحد على الأقل من عنصر تحكم Windows Forms والآخر على عنصر تحكم WPF ، Windows Forms يتلقى دائماً المسرع. لا يتم تبديل التركيز بين عناصر التحكم عند الضغط على المسرع مكررة. |
مفاتيح الاختصار |
اختصارات المفاتيح تعمل كالمعتاد ، باستثناء أن يصرح في العمود "غير مدعم". |
|
AcceptsReturn AcceptsTab ، و السلوكيات المحددة لعنصر التحكم الأخرى |
تعمل الخصائص التي تقوم بتغيير السلوك الافتراضي للوحة المفاتيح كالمعتاد ، مع افتراض إن عنصر التحكم Windows Forms يتجاوز الأسلوب IsInputKey لإرجاع true. |
عناصر التحكم Windows Forms الذي يقوم بتغيير سلوك لوحة المفاتيح الافتراضي بمعالجة حدث KeyDown تتم معالجتهم أخيراً في عنصر التحكمWPF المضيف . لأنه يتم معالجة تلك عناصر التحكم في النهاية, فإنها يمكن أن تعطي سلوك غير متوقع . |
الدخول و ترك الأحداث |
عند عدم ذهاب التركيز إلى عنصر تحكم ElementHost الحاوي ، أحداث الدخول و الترك يتم تشغيلها كالمعتاد عند تغيير التركيز في عنصر تحكم WindowsFormsHost واحد. |
أحداث الدخول و الترك لا يتم تشغيلها عند حدوث تغييرات التركيز التالية:
|
تعدد العمليات |
كل أنواع العمليات المتعددة يتم دعمها . |
تقنيات Windows Forms و WPF تفترض طراز التزامن من النوع الأحادي الترابط . أثناء تصحيح الأخطاء ، استدعاءات كائنات إطار عمل من مؤشرات الترابط الأخرى سوف تقوم بإصدار استثناء لفرض هذا المطلب. |
الأمان |
كل سيناريوهات العمليات الداخلية تتطلب ثقة كاملة. |
لا توجد وحدات سيناريو العمليات الداخلية مسموح بها في بيئة عمل ذات ثقة جزئية. |
إمكانية وصول ذوي الاحتياجات الخاصة |
يتم دعم كافة سيناريوهات الوصول . منتجات التقنيات المساعدة تعمل بشكل صحيح عند استخدامهم للتطبيقات المختلطة التي تحتوي على كلا من عناصر تحكم Windows Forms و WPF . |
غير متوفر. |
الحافظة |
تعمل كافة عمليات الحافظة كالمعتاد. يتضمن هذا القص واللصق بين عناصر تحكم Windows Forms و WPF . |
غير متوفر. |
ميزة السحب و الافلات |
كافة عمليات السحب والإفلات تعمل كالمعتاد. يتضمن هذا العمليات بين عناصر تحكم Windows Forms و WPF . |
غير متوفر. |
تطبيق مبني على نماذج Windows يستضيف عناصر تحكم Windows Presentation Foundation
يتم دعم سيناريوهات العمليات الداخلية التالية عند استضافة عنصر تحكم Windows Forms لعنصر تحكم WPF :
يستضيف واحد أو أكثر من عنصر تحكم WPF باستخدام التعليمات البرمجية.
اقتران ورقة خصائص بواحدة أو أكثر من عناصر تحكم WPF المستضافة .
استضافة واحد أو أكثر من صفحات WPF في النموذج.
بدء تشغيل إطار WPF .
أنه قد يقوم باستضافة نموذج رئيسي/تفصيلي بــ Windows Forms الرئيسي و تفاصيل WPF.
أنه قد يقوم باستضافة نموذج رئيسي/تفصيلي بــ WPF الرئيسي و تفاصيل Windows Forms.
استضافة عناصر تحكم WPF مخصصة .
استضافة عناصر تحكم مختلطة .
خصائص Ambient :
بعض خصائص ambient الخاصة بـعناصر تحكم Windows Forms لها معادلات WPF . تم نشر هذه الخصائص ambient في عناصر التحكم WPF المستضافة و كشفها كخصائص عامة على عنصر التحكم ElementHost . عنصر التحكم ElementHost يترجم كل خاصية ambient Windows Forms في مكافيء WPF الخاص به .
لمزيد من المعلومات، راجع تعيين خاصية WPF و Windows Forms.
السلوك
يصف الجدول التالي سلوك العملية الداخلية.
السلوك |
معتمد |
غير مدعم |
---|---|---|
شفافية |
تقديم عنصر التحكم WPF يدعم الشفافية. الخلفية لأصل عنصر التحكم Windows Forms يمكن أن يصبح خلفية عناصر تحكم WPF المستضافة . |
غير متوفر. |
تعدد العمليات |
كل أنواع العمليات المتعددة يتم دعمها . |
تقنيات Windows Forms و WPF تفترض طراز التزامن من النوع الأحادي الترابط . أثناء تصحيح الأخطاء ، استدعاءات كائنات إطار عمل من مؤشرات الترابط الأخرى سوف تقوم بإصدار استثناء لفرض هذا المطلب. |
الأمان |
كل سيناريوهات العمليات الداخلية تتطلب ثقة كاملة. |
لا توجد وحدات سيناريو العمليات الداخلية مسموح بها في بيئة عمل ذات ثقة جزئية. |
إمكانية وصول ذوي الاحتياجات الخاصة |
يتم دعم كافة سيناريوهات الوصول . منتجات التقنيات المساعدة تعمل بشكل صحيح عند استخدامهم للتطبيقات المختلطة التي تحتوي على كلا من عناصر تحكم Windows Forms و WPF . |
غير متوفر. |
الحافظة |
تعمل كافة عمليات الحافظة كالمعتاد. يتضمن هذا القص واللصق بين عناصر تحكم Windows Forms و WPF . |
غير متوفر. |
ميزة السحب و الافلات |
كافة عمليات السحب والإفلات تعمل كالمعتاد. يتضمن هذا العمليات بين عناصر تحكم Windows Forms و WPF . |
غير متوفر. |
راجع أيضًا:
المرجع
المبادئ
الإرشادات التفصيلية: استضافة عنصر تحكم Windows Forms في WPF