تعيين خاصية WPF و Windows Forms

تقنيات Windows Forms و WPF لديه طرازين خاصية مشابهين ولكن مختلفين. تعيين الخاصية تدعم عملية داخلية بين هيكلين و تقوم بتوفير الإمكانيات التالية:

  • يجعل من السهل تعيين تغييرات الخاصية ذات الصلة في البيئة المضيفة إلى عنصر التحكم أو العنصر الذي تمت استضافته .

  • يوفر هذا معالجة افتراضية لتعيين الخصائص الأكثر استخداماً .

  • يسمح بالإزالة السهلة ، تجاوز أو القيام بالمزيد للخضائص الافتراضية.

  • يضمن إن تغييرات قيمة الخاصية على المضيف تلقائياً يتم التعرف عليها و تحويلها إلى عنصر تحكم أو عنصر مضيف.

ملاحظةملاحظة

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

قم باستخدام الخاصية PropertyMap على عنصر WindowsFormsHost و خاصية PropertyMap على عنصر التحكم ElementHost للوصول إلى تعيين الخاصية .

تعيين الخاصية بعنصر WindowsFormsHost

يقوم عنصر WindowsFormsHost بترجمة خصائص WPF الافتراضية لمعادلات Windows Forms الخاصة بهم باستخدام جدول الترجكة التالي.

إضافة Windows Presentation Foundation

Windows Forms

سلوك interoperation (العملية الداخلية)

Background

(System.Windows.Media.Brush)

BackColor

(System.Drawing.Color)

يقوم عنصر WindowsFormsHost بتعيين خاصية BackColor لعنصر التحكم المستضاف و خاصية BackgroundImage من عنصر التحكم المستضاف. يتم تنفيذ التعيين باستخدام القواعد التالية:

  • إذا كان Background لون خالص ، يتم تحويله و استخدامه لتعيين خاصية BackColor الخاصة بعنصر التحكم المستضاف. لا يتم تعيين خاصية BackColor على عنصر التحكم المستضاف لأن عنصر التحكم المستضاف يرث قيمة خاصية BackColor .

ملاحظةملاحظة
لا يدعم عنصر التحكم المستضاف الشفافية.أي لون يتم تعيينه إلى BackColor يجب أن يكون غير شفاف بالكامل، بقيمة ألفا من 0xFF.
  • إذا كان Background ليس لوناً خالصاً ، عنصر التحكم WindowsFormsHost يقوم بإنشاء الصورة نقطية من خاصية Background . عنصر التحكم WindowsFormsHost يقوم بتعيين هذه الصورة النقطية إلى خاصية BackgroundImage الخاصة بعنصر التحكم المستضاف. يوفر هذا تأثير الذي يشبه الشفافية.

ملاحظةملاحظة
يمكنك تجاوز هذا السلوك أو يمكنك إزالة تعيين الخاصية Background .

Cursor

Cursor

إذا تم إعادة تعيين التعيين الافتراضي ، WindowsFormsHostيتجاوز التسلسل الهرمي للأصل الخاص به حتى يعثر على الأصل بمجموعة الخاصية Cursor الخاصة به. تتم ترجمة هذه القيمة إلى أقرب مؤشر Windows Forms مطابق.

في حالة التعيين الافتراضي لخاصية ForceCursor لا يتم إعادة تعيينه , يتوقف اجتياز على الأصل الأول بــ ForceCursor يتم تعيينه إلى true.

FlowDirection

(System.Windows.FlowDirection)

RightToLeft

(System.Windows.Forms.RightToLeft)

LeftToRight يقوم بالتعيين إلى No.

RightToLeft يقوم بالتعيين إلى Yes.

Inherit لم يتم تعيينها.

FlowDirection.RightToLeft يقوم بالتعيين إلى RightToLeft.Yes.

FontStyle

Style في عنصر التحكم المستضاف System.Drawing.Font

مجموعة خصائص WPF تتم ترجمتها إلى Font الموافق. عند تغيير إحدى هذه الخصائص ، يتم انشاء Font جديد. لـ Normal : Italic يتم تعطيله. للحصول على Italic أو Oblique: Italic.

FontWeight

Style في عنصر التحكم المستضاف System.Drawing.Font

مجموعة خصائص WPF تتم ترجمتها إلى Font الموافق. عند تغيير إحدى هذه الخصائص ، يتم انشاء Font جديد. للحصول على Black, Bold, DemiBold, ExtraBold, Heavy, Medium, SemiBold, أو UltraBold: Bold. لـExtraLight, Light, Normal, Regular, Thin, أوUltraLight: Bold يتم تعطيله.

FontFamily

FontSize

FontStretch

FontStyle

FontWeight

Font

(System.Drawing.Font)

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

حجم الخط في WPFيتم التعبير عنه كواحد ستة و تسعون للبوصة, وفي Windows Forms كـواحد سبعين ثانية من بوصة. التحويل المطابق هو :

Windows Forms حجم الخط = WPF حجم الخط * 72.0 \ 96.0

Foreground

(System.Windows.Media.Brush)

ForeColor

(System.Drawing.Color)

يتم تنفيذ تعيين الخاصية Foreground باستخدام القواعد التالية:

IsEnabled

Enabled

عندما يتم تعيين IsEnabled ، يقوم عنصر WindowsFormsHost بتعيين الخاصية Enabled على عنصر التحكم المستضاف.

Padding

Padding

كافة الأربعة قيم لخاصية Padding على عنصر التحكم Windows Forms المستضاف يتم تعيينها إلى قيمة Thickness نفسها .

Visibility

Visible

  • Visible تقوم بالتعيين إلى Visible = true. عنصر التحكم Windows Forms المستضاف يكون مرئياً. بشكل صريح إعداد خاصية Visible على عنصر التحكم المستضاف لــ false غير مستحسن.

  • Collapsed يقوم بالتعيين إلى Visible =true أوfalse. عنصر التحكم Windows Forms المستضاف لا يتم رسمه ، و المنطقة الخاصة به لا يتم طيها.

  • Hidden: عنصر التحكمWindows Forms المستضاف يحتل مساحة في التخطيط ولكنه غير مرئي. في هذه الحالة، خاصية Visible يتم تعيينها إلى true. بشكل صريح إعداد خاصية Visible على عنصر التحكم المستضاف لــ false غير مستحسن.

الخصائص المرفقة على عناصر الحاوية يتم دعمها بشكل كامل بواسطة عنصر 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 (العملية الداخلية)

BackColor

(System.Drawing.Color)

Background

(System.Windows.Media.Brush) على العنصر المستضاف

تعيين هذه الخاصية يفرض اعادة رسم بــ ImageBrush. إذا كانت خاصية BackColorTransparent قد تم تعيينها إلى false (القيمة الافتراضية) ، هذا ImageBrush يستند إلى مظهر عنصر التحكم ElementHost بما في ذلك خصائص BackColor و BackgroundImage ، BackgroundImageLayout ، الخاصة به و أية معالجات الرسام المرفقة.

إذا كانت خاصية BackColorTransparent قد تم تعيينها إلى true (القيمة الافتراضية) ، هذا ImageBrush يستند إلى أصل عنصر التحكم ElementHost بما في ذلك خصائص الأصل BackColor و BackgroundImage ، BackgroundImageLayout ، الخاصة به و أية معالجات الرسام المرفقة.

BackgroundImage

(System.Drawing.Image)

Background

(System.Windows.Media.Brush) على العنصر المستضاف

إعداد هذة الخاصية يؤدي إلى نفس السلوك الموضح لتعيين BackColor .

BackgroundImageLayout

Background

(System.Windows.Media.Brush) على العنصر المستضاف

إعداد هذة الخاصية يؤدي إلى نفس السلوك الموضح لتعيين BackColor .

Cursor

(System.Windows.Forms.Cursor)

Cursor

(System.Windows.Input.Cursor)

المؤشر القياسي Windows Forms تتم ترجمته المؤشر القياسي WPF المطابق. إذا كان Windows Forms ليس مؤشراً قياسياً ، يتم تعيين الافتراضي .

Enabled

IsEnabled

عندما يتم تعيين Enabled ، يقوم عنصر التحكم ElementHost بتعيين الخاصية IsEnabled على العنصر المستضاف.

Font

(System.Drawing.Font)

FontFamily

FontSize

FontStretch

FontStyle

FontWeight

تتم ترجمة قيمة Font إلى مجموعة مطابقة من خصائص الخط WPF .

Bold

FontWeight على العنصر المستضاف

إذا كان Bold هو true, FontWeight تم تعيينه إلى Bold

إذا كان Bold هو false, FontWeight تم تعيينه إلى Normal

Italic

FontStyle على العنصر المستضاف

إذا كان Italic هو true, FontStyle تم تعيينه إلى Italic

إذا كان Italic هو false, FontStyle تم تعيينه إلى Normal

Strikeout

TextDecorations على العنصر المستضاف

ينطبق هذا فقط عند استضافة عنصر التحكم TextBlock .

Underline

TextDecorations على العنصر المستضاف

ينطبق هذا فقط عند استضافة عنصر التحكم TextBlock .

RightToLeft

(System.Windows.Forms.RightToLeft)

FlowDirection

(FlowDirection)

No يقوم بالتعيين إلى LeftToRight.

Yes يقوم بالتعيين إلى RightToLeft.

Visible

Visibility

عنصر التحكم ElementHost يقوم بتعيين خاصية Visibility على العنصر المستضاف باستخدام القواعد التالية:

راجع أيضًا:

المهام

الإرشادات التفصيلية: خصائص التعيين باستخدام عنصر WindowsFormsHost

الإرشادات التفصيلية: تعيين الخصائص باستخدام عنصر التحكم ElementHost

المرجع

ElementHost

WindowsFormsHost

المبادئ

نظرة عامة حول التشغيل التفاعلي ل Win32 و WPF

السيناريوهات المدعمة في WPF و التشغيل التفاعلي Windows Forms