تعيين خاصية WPF و Windows Forms
تقنيات Windows Forms و WPF لديه طرازين خاصية مشابهين ولكن مختلفين. تعيين الخاصية تدعم عملية داخلية بين هيكلين و تقوم بتوفير الإمكانيات التالية:
يجعل من السهل تعيين تغييرات الخاصية ذات الصلة في البيئة المضيفة إلى عنصر التحكم أو العنصر الذي تمت استضافته .
يوفر هذا معالجة افتراضية لتعيين الخصائص الأكثر استخداماً .
يسمح بالإزالة السهلة ، تجاوز أو القيام بالمزيد للخضائص الافتراضية.
يضمن إن تغييرات قيمة الخاصية على المضيف تلقائياً يتم التعرف عليها و تحويلها إلى عنصر تحكم أو عنصر مضيف.
ملاحظة |
---|
لم يتم نشر أحداث تغيير الخاصية أعلى التسلسل الهرمي للعنصر أو عنصر التحكم المضيف.لا يتم تنفيذ الترجمة للخاصية إذا كانت القيمة المحلية للخاصية لا تتغير نتيجة الإعداد المباشر أو الأنماط أو الوراثة أو ربط البيانات أو آليات أخرى التي تقوم بتغيير قيمة الخاصية. |
قم باستخدام الخاصية PropertyMap على عنصر WindowsFormsHost و خاصية PropertyMap على عنصر التحكم ElementHost للوصول إلى تعيين الخاصية .
تعيين الخاصية بعنصر WindowsFormsHost
يقوم عنصر WindowsFormsHost بترجمة خصائص WPF الافتراضية لمعادلات Windows Forms الخاصة بهم باستخدام جدول الترجكة التالي.
إضافة Windows Presentation Foundation |
Windows Forms |
سلوك interoperation (العملية الداخلية) |
---|---|---|
يقوم عنصر WindowsFormsHost بتعيين خاصية BackColor لعنصر التحكم المستضاف و خاصية BackgroundImage من عنصر التحكم المستضاف. يتم تنفيذ التعيين باستخدام القواعد التالية:
ملاحظة
لا يدعم عنصر التحكم المستضاف الشفافية.أي لون يتم تعيينه إلى BackColor يجب أن يكون غير شفاف بالكامل، بقيمة ألفا من 0xFF.
ملاحظة
يمكنك تجاوز هذا السلوك أو يمكنك إزالة تعيين الخاصية Background .
|
||
إذا تم إعادة تعيين التعيين الافتراضي ، WindowsFormsHostيتجاوز التسلسل الهرمي للأصل الخاص به حتى يعثر على الأصل بمجموعة الخاصية Cursor الخاصة به. تتم ترجمة هذه القيمة إلى أقرب مؤشر Windows Forms مطابق. في حالة التعيين الافتراضي لخاصية ForceCursor لا يتم إعادة تعيينه , يتوقف اجتياز على الأصل الأول بــ ForceCursor يتم تعيينه إلى true. |
||
LeftToRight يقوم بالتعيين إلى No. RightToLeft يقوم بالتعيين إلى Yes. Inherit لم يتم تعيينها. FlowDirection.RightToLeft يقوم بالتعيين إلى RightToLeft.Yes. |
||
Style في عنصر التحكم المستضاف System.Drawing.Font |
مجموعة خصائص WPF تتم ترجمتها إلى Font الموافق. عند تغيير إحدى هذه الخصائص ، يتم انشاء Font جديد. لـ Normal : Italic يتم تعطيله. للحصول على Italic أو Oblique: Italic. |
|
Style في عنصر التحكم المستضاف System.Drawing.Font |
مجموعة خصائص WPF تتم ترجمتها إلى Font الموافق. عند تغيير إحدى هذه الخصائص ، يتم انشاء Font جديد. للحصول على Black, Bold, DemiBold, ExtraBold, Heavy, Medium, SemiBold, أو UltraBold: Bold. لـExtraLight, Light, Normal, Regular, Thin, أوUltraLight: Bold يتم تعطيله. |
|
مجموعة خصائص WPF تتم ترجمتها إلى Font الموافق. عند تغيير إحدى هذه الخصائص ، يتم انشاء Font جديد. عنصر التحكم Windows Forms المستضاف يقوم بإعادة تغيير حجمه استناداً إلى حجم الخط. حجم الخط في WPFيتم التعبير عنه كواحد ستة و تسعون للبوصة, وفي Windows Forms كـواحد سبعين ثانية من بوصة. التحويل المطابق هو : Windows Forms حجم الخط = WPF حجم الخط * 72.0 \ 96.0 |
||
يتم تنفيذ تعيين الخاصية Foreground باستخدام القواعد التالية:
|
||
عندما يتم تعيين IsEnabled ، يقوم عنصر WindowsFormsHost بتعيين الخاصية Enabled على عنصر التحكم المستضاف. |
||
كافة الأربعة قيم لخاصية Padding على عنصر التحكم Windows Forms المستضاف يتم تعيينها إلى قيمة Thickness نفسها . |
||
|
الخصائص المرفقة على عناصر الحاوية يتم دعمها بشكل كامل بواسطة عنصر WindowsFormsHost .
لمزيد من المعلومات، راجع الإرشادات التفصيلية: خصائص التعيين باستخدام عنصر WindowsFormsHost.
خصائص التحديثات إلى الأصل
التغييرات في معظم خصائص الأصل يؤدي إلى إعلامات لعنصر التحكم التابع المستضاف. توضح القائمة التالية الخصائص التي لا تؤدي إلى الإعلامات عند تغير القيم الخاصة بهم.
على سبيل المثال، إذا قمت بتغيير قيمة الخاصية Background الخاصة بعنصر WindowsFormsHost ، فإن خاصية BackColor الخاصة بعنصر التحكم المستضاف لا يتغير .
تعيين الخاصية بعنصر التحكم ElementHost
الخصائص التالية تقوم بتوفير إعلام تغيير مضمن. لا تقم باستدعاء أسلوب OnPropertyChanged عند تعيين هذه الخصائص :
التحجيم الاّلى
اللون الخلفي
BackgroundImage
BackgroundImageLayout (مخطط صورة الخلفية)
BindingContext (سياق الربط)
CausesValidation
قائمة السياق
ContextMenuStrip
رأس المؤشر
إرساء
ممكّن
الخط
Forecolor
الموقع
الهامش
الحشو
الأصل
Region
اليمين لليسار
Size
TabIndex
TabStop
Text
Visible
يقوم عنصر التحكم ElementHost بترجمة خصائص Windows Forms الافتراضية لمعادلات WPF الخاصة بهم باستخدام جدول الترجمة التالي.
لمزيد من المعلومات، راجع الإرشادات التفصيلية: تعيين الخصائص باستخدام عنصر التحكم ElementHost.
استضافة نماذج Windows |
Windows Presentation Foundation |
سلوك interoperation (العملية الداخلية) |
---|---|---|
(System.Windows.Media.Brush) على العنصر المستضاف |
تعيين هذه الخاصية يفرض اعادة رسم بــ ImageBrush. إذا كانت خاصية BackColorTransparent قد تم تعيينها إلى false (القيمة الافتراضية) ، هذا ImageBrush يستند إلى مظهر عنصر التحكم ElementHost بما في ذلك خصائص BackColor و BackgroundImage ، BackgroundImageLayout ، الخاصة به و أية معالجات الرسام المرفقة. إذا كانت خاصية BackColorTransparent قد تم تعيينها إلى true (القيمة الافتراضية) ، هذا ImageBrush يستند إلى أصل عنصر التحكم ElementHost بما في ذلك خصائص الأصل BackColor و BackgroundImage ، BackgroundImageLayout ، الخاصة به و أية معالجات الرسام المرفقة. |
|
(System.Windows.Media.Brush) على العنصر المستضاف |
إعداد هذة الخاصية يؤدي إلى نفس السلوك الموضح لتعيين BackColor . |
|
(System.Windows.Media.Brush) على العنصر المستضاف |
إعداد هذة الخاصية يؤدي إلى نفس السلوك الموضح لتعيين BackColor . |
|
المؤشر القياسي Windows Forms تتم ترجمته المؤشر القياسي WPF المطابق. إذا كان Windows Forms ليس مؤشراً قياسياً ، يتم تعيين الافتراضي . |
||
عندما يتم تعيين Enabled ، يقوم عنصر التحكم ElementHost بتعيين الخاصية IsEnabled على العنصر المستضاف. |
||
تتم ترجمة قيمة Font إلى مجموعة مطابقة من خصائص الخط WPF . |
||
FontWeight على العنصر المستضاف |
إذا كان Bold هو true, FontWeight تم تعيينه إلى Bold إذا كان Bold هو false, FontWeight تم تعيينه إلى Normal |
|
FontStyle على العنصر المستضاف |
||
TextDecorations على العنصر المستضاف |
ينطبق هذا فقط عند استضافة عنصر التحكم TextBlock . |
|
TextDecorations على العنصر المستضاف |
ينطبق هذا فقط عند استضافة عنصر التحكم TextBlock . |
|
No يقوم بالتعيين إلى LeftToRight. Yes يقوم بالتعيين إلى RightToLeft. |
||
عنصر التحكم ElementHost يقوم بتعيين خاصية Visibility على العنصر المستضاف باستخدام القواعد التالية: |
راجع أيضًا:
المهام
الإرشادات التفصيلية: خصائص التعيين باستخدام عنصر WindowsFormsHost
الإرشادات التفصيلية: تعيين الخصائص باستخدام عنصر التحكم ElementHost
المرجع
المبادئ
نظرة عامة حول التشغيل التفاعلي ل Win32 و WPF
السيناريوهات المدعمة في WPF و التشغيل التفاعلي Windows Forms