الإرشادات التفصيلية: استضافة عنصر تحكم نماذج Windows في WPF
يوفر WPF العديد من عناصر التحكم مع مجموعة ميزات غنية. ومع ذلك، قد تريد أحياناً تحتاج استخدام عناصر تحكم Windows Forms على الصفحات WPF الخاصة بك. على سبيل المثال، قد يكون لديك استثمار حقيقي في عناصر تحكم Windows Forms الموجودة أو قد يكون لديك عنصر تحكم Windows Forms يوفر وظائف فريدة.
تُظهر هذه الإرشادات التفصيلية كيفية استضافة عنصر تحكم نماذج Windows Windows Forms على صفحة System.Windows.Forms.MaskedTextBox باستخدام WPF.
للحصول على قائمة كاملة للتعليمات البرمجية للمهام الموضحة في هذه الإرشادات التفصيلية راجع استضافة عنصر تحكم النماذج Windows في WPF بواسطة استخدام نموذج XAML .
لاحظ . قد تختلف مربعات الحوار وأوامر القائمة التي تشاهدها عن تلك الموصوفة في التعليمات اعتماداً على الإعدادات النشطة أو الإصدار الخاص بك. لتغيير الإعدادات الخاصة بك, اختر إعدادات الاستيراد و التصدير ضمن القائمة أدوات . لمزيد من المعلومات، راجع العمل مع إعدادات.
المتطلبات الأساسية
تحتاج إلى المكونات التالية لاستكمال هذه الإرشادات التفصيلية:
- Visual Studio 2008.
استضافة عنصر تحكم نماذج Windows
لتستضيف عنصر تحكم MaskedTextBox
قم بإنشاء مشروع تطبيق WPF باسم HostingWfInWpf.
في "مستكشف الحلول" قم بإضافة مرجع إلى تجميع WindowsFormsIntegration يسمى WindowsFormsIntegration.dll.
في "مستكشف الحلول" قم بإضافة مرجع إلى تجميع Windows Forms الذي يسمى System.Windows.Forms.dll.
قم بفتح Window1.xaml في ال مصمم WPF.
في عرضWindows1.xaml ,قم باستبدال XAML المنشأة تلقائياً مع XAML التالية.
<Window x:Class="HostingWfInWpf.Window1" xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" Title="HostingWfInWpf" Loaded="WindowLoaded" > <Grid Name="grid1"> </Grid> </Window>
افتح Window1.xaml.cs في محرر تعليمات برمجية.
قم باستبدال التعليمات البرمجية في Window1.xaml عنصر بالتعليمات البرمجية في المثال التالي.
Imports System Imports System.Windows Imports System.Windows.Controls Imports System.Windows.Data Imports System.Windows.Documents Imports System.Windows.Media Imports System.Windows.Media.Imaging Imports System.Windows.Shapes Imports System.Windows.Forms ' Interaction logic for Window1.xaml Partial Public Class Window1 Inherits Window Public Sub New() InitializeComponent() End Sub Private Sub WindowLoaded(ByVal sender As Object, ByVal e As RoutedEventArgs) ' Create the interop host control. Dim host As New System.Windows.Forms.Integration.WindowsFormsHost() ' Create the MaskedTextBox control. Dim mtbDate As New MaskedTextBox("00/00/0000") ' Assign the MaskedTextBox control as the host control's child. host.Child = mtbDate ' Add the interop host control to the Grid ' control's collection of child controls. Me.grid1.Children.Add(host) End Sub 'WindowLoaded End Class
using System; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Media; using System.Windows.Shapes; using System.Windows.Forms; namespace HostingWfInWpf { public partial class Window1 : Window { public Window1() { InitializeComponent(); } private void WindowLoaded(object sender, RoutedEventArgs e) { // Create the interop host control. System.Windows.Forms.Integration.WindowsFormsHost host = new System.Windows.Forms.Integration.WindowsFormsHost(); // Create the MaskedTextBox control. MaskedTextBox mtbDate = new MaskedTextBox("00/00/0000"); // Assign the MaskedTextBox control as the host control's child. host.Child = mtbDate; // Add the interop host control to the Grid // control's collection of child controls. this.grid1.Children.Add(host); } } }
راجع أيضًا:
المهام
الإرشادات التفصيلية: استضافة عنصر تحكم نماذج Windows في WPF باستخدام XAML
المرجع
المبادئ
الإرشادات التفصيلية: استضافة عنصر تحكم Windows Forms في WPF
الإرشادات التفصيلية: استضافة عنصر تحكم WPF في نماذج النوافذ
عناصر تحكم Windows Forms وعناصر تحكم WPF المكافئة