مشاركة عبر


الإرشادات التفصيلية: ربط Silverlight عناصر التحكم لكائنات

في هذه معاينة، يمكنك إنشاء أحد تطبيقات Silverlight الذي يحتوي على بيانات المرتبطة عناصر التحكم. ترتبط عناصر التحكم إلى الكائنات التجارية ذات الصلة لمعرفة من قبل مستخدم 2.

توضح هذه الإرشادات التفصيلية المهام التالية:

  • إنشاء تطبيق Silverlight.

  • إنشاء 2 المتعلقة بالكائنات المخصصة اليربط واجهة مستخدم.

  • قم بتشغيل معالج تكوين مصدر بيانات للاتصال بكائن مخصص وقم بملء الإطار المصادر بيانات.

  • قم بإنشاء التعيين من عناصر تحكم حدود بيانات بواسطة سحب عناصر من الإطار موارد بيانات إلى مصمم Silverlight.

    ملاحظة

    قد يعرض الكمبيوتر الخاص بك بأسماء مختلفة أو مواقع? لبعض Visual Studioعناصر واجهة مستخدم في الإرشادات التالية. Visual Studioيحدد كل من إصدار Visual Studio لديك والإعدادات المستخدمة هذه العناصر. لمزيد من المعلومات، راجع العمل مع إعدادات.

المتطلبات الأساسية

تحتاج إلى المكونات التالية لاستكمال هذه الإرشادات التفصيلية:

  • Visual Studio 2010.

معرفة سابقة بالمفاهيم التالية هو مفيدة أيضا، ولكن لا المطلوبة لاستكمال معاينة:

  • العمل مع مصمم Silverlight. ل المزيد من المعلومات، راجع من Silverlight.

  • Silverlight ربط بيانات. ل المزيد من المعلومات، راجع ربط بيانات.

  • العمل مع XAML. للحصول على مزيد من المعلومات، راجع XAML .

إنشاء تطبيق Silverlight

قم بتشغيل هذه معاينة بإنشاء تطبيق Silverlight.

إلى إنشاء مشروع Silverlight

  1. في قائمة ملف، قم بإنشاء مشروع جديد.

  2. تحت Visual C#‎ أو عقدة Visual أساسى، انقر فوق من Silverlight و ثم انقر فوق تطبيقات Silverlight.

  3. في المربع الاسم ، اكتب من SilverlightObjectBinding و ثم انقر فوق ‏‏موافق .

  4. اترك الإعدادات الافتراضية في صندوق الحوار تطبيق Silverlight جديد ومن ثم انقر فوق ‏‏موافق .

    يتم تاريخ الإنشاء تطبيق Silverlight كحل مع مشاريع 2: مشروع SilverlightObjectBinding و SilverlightObjectBinding.ويب المشاريع التي هو يستخدم لاستضافة المشروع SilverlightObjectBinding.

إنشاء الكائنات مخصص يربط إلى

لعرض البيانات إلى تطبيق موجود، يجب تعريف نموذج بيانات. في هذه معاينة، إنشاء مخصصة من الكائنات التي تمثل العملاء والطلبات لنموذج بيانات.

إلى إنشاء الكائنات Cusإلىmers

  1. في مستكشف الحل، يمين-انقر فوق مشروع SilverlightObjectBinding ، وأشر إلى إضافة، وثم انقر فوق عنصر جديد?.

  2. في صندوق الحوار إضافة عنصر جديد? ، انقر فوق العنصر فئة.

  3. تغيير الاسم إلى العميل، ثم انقر فوق إضافة.

  4. في التعليمة البرمجية للعملاء ملف، قم باستبدال Customerالفئة مع تعليمات برمجية التالية.

    ''' <summary>
    ''' A single customer
    ''' </summary>
    Public Class Customer
    
        Public Sub New()
        End Sub
    
        ''' <summary>
        ''' Creates a new customer
        ''' </summary>
        ''' <param name="customerId">The ID that uniquely identifies this customer</param>
        ''' <param name="companyName">The name for this customer</param>
        ''' <param name="city">The city for this customer</param>
        Public Sub New(ByVal customerId As String,
                       ByVal companyName As String,
                       ByVal city As String)
            customerIDValue = customerId
            companyNameValue = companyName
            cityValue = city
        End Sub
    
        Private customerIDValue As String
        ''' <summary>
        ''' The ID that uniquely identifies this customer
        ''' </summary>
        Public Property CustomerID() As String
            Get
                Return customerIDValue
            End Get
            Set(ByVal value As String)
                customerIDValue = value
            End Set
        End Property
    
        Private companyNameValue As String
        ''' <summary>
        ''' The name for this customer
        ''' </summary>
        Public Property CompanyName() As String
            Get
                Return companyNameValue
            End Get
            Set(ByVal Value As String)
                companyNameValue = Value
            End Set
        End Property
    
        Private cityValue As String
        ''' <summary>
        ''' The city for this customer
        ''' </summary>
        Public Property City() As String
            Get
                Return cityValue
            End Get
            Set(ByVal Value As String)
                cityValue = Value
            End Set
        End Property
    
        Private ordersValue As Orders
        ''' <summary>
        ''' The orders for this customer
        ''' </summary>
        Public Property Orders As Orders
            Get
                Return ordersValue
            End Get
            Set(ByVal value As Orders)
                ordersValue = value
            End Set
        End Property
    
    
        Public Overrides Function ToString() As String
            Return Me.CompanyName & " (" & Me.CustomerID & ")"
        End Function
    End Class
    
    
    ''' <summary>
    ''' A collection of Customer objects.
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Customers
        Inherits System.Collections.Generic.List(Of Customer)
    
    End Class
    
    /// <summary>
    /// A single customer
    /// </summary>
    public class Customer
    {
        /// <summary>
        /// Creates a new customer
        /// </summary>
        public Customer()
        {
        }
    
        /// <summary>
        /// Creates a new customer
        /// </summary>
        /// <param name="customerID"></param>
        /// <param name="companyName"></param>
        /// <param name="city"></param>
        public Customer(string customerID, string companyName,
           string city)
        {
            customerIDValue = customerID;
            companyNameValue = companyName;
            cityValue = city;
        }
    
        private string customerIDValue;
        /// <summary>
        /// The ID that uniquely identifies this customer
        /// </summary>
        public string CustomerID
        {
            get { return customerIDValue; }
            set { customerIDValue = value; }
        }
    
        private string companyNameValue;
        /// <summary>
        /// The name for this customer
        /// </summary>
        public string CompanyName
        {
            get { return companyNameValue; }
            set { companyNameValue = value; }
        }
    
        private string cityValue;
        /// <summary>
        /// The city for this customer
        /// </summary>
        public string City
        {
            get { return cityValue; }
            set { cityValue = value; }
        }
    
        private Orders ordersValue;
        /// <summary>
        /// The orders for this customer
        /// </summary>
        public Orders Orders
        {
            get { return ordersValue; }
            set { ordersValue = value; }
        }
    
        public override string ToString()
        {
            return this.CompanyName + " (" + this.CustomerID + ")";
        }
    }
    
    /// <summary>
    /// A collection of Customer objects
    /// </summary>
    public class Customers : System.Collections.Generic.List<Customer>
    { 
    
    }
    

إلى إنشاء الكائنات Orders (الطلبيات)

  1. في مستكشف الحل ، بزر الماوس الأيمن SilverlightObjectBinding مشروع، وأشر إلى إضافة، و ثم انقر فوق عنصر جديد?.

  2. في صندوق الحوار إضافة عنصر جديد? ، انقر فوق العنصر فئة.

  3. قم بتغيير الاسم إلى ترتيب، ثم انقر فوق إضافة.

  4. في التعليمة البرمجية لترتيب ملف، قم باستبدال Orderالفئة مع تعليمات برمجية التالية.

    ''' <summary>
    ''' A single order
    ''' </summary>
    Public Class Order
    
        Public Sub New()
        End Sub
    
        ''' <summary>
        ''' Creates a new order
        ''' </summary>
        ''' <param name="orderid">The identifier for this order</param>
        ''' <param name="customerID">The customer who placed this order</param>
        Public Sub New(ByVal orderid As Integer,
                       ByVal customerID As String)
            orderIDValue = orderid
            customerIDValue = customerID
        End Sub
    
        Private orderIDValue As Integer
        ''' <summary>
        ''' Identifier for this order
        ''' </summary>
        Public Property OrderID() As Integer
            Get
                Return orderIDValue
            End Get
            Set(ByVal value As Integer)
                orderIDValue = value
            End Set
        End Property
    
        Private customerIDValue As String
        ''' <summary>
        ''' The customer who placed this order
        ''' </summary>
        Public Property CustomerID() As String
            Get
                Return customerIDValue
            End Get
            Set(ByVal Value As String)
                customerIDValue = Value
            End Set
        End Property
    End Class
    
    ''' <summary>
    ''' A collection of Orders
    ''' </summary>
    Public Class Orders
        Inherits System.Collections.Generic.List(Of Order)
    
    End Class
    
    /// <summary>
    /// A single order
    /// </summary>
    public class Order
    {
        /// <summary>
        /// Creates a new order
        /// </summary>
        /// <param name="orderid"></param>
        /// <param name="customerID"></param>
        public Order(int orderid, string customerID)
        {
            orderIDValue = orderid;
            customerIDValue = customerID;
        }
    
        private int orderIDValue;
        /// <summary>
        /// The ID that uniquely identifies this order
        /// </summary>
        public int OrderID
        {
            get { return orderIDValue; }
            set { orderIDValue = value; }
        }
    
        private string customerIDValue;
        /// <summary>
        /// The customer who placed this order
        /// </summary>
        public string CustomerID
        {
            get { return customerIDValue; }
            set { customerIDValue = value; }
        }
    }
    
        /// <summary>
        /// A collection of Order objects
        /// </summary>
        public class Orders : System.Collections.Generic.List<Order>
        {
    
        }
    
  5. إنشاء المشروع.

إنشاء كائن بيانات المصدر

قم بإنشاء مصدر بيانات كائن ويملأ الإطار المصادر البيانات بواسطة تشغيل معالج إعداد مصدر البيانات.

إلى إنشاء مصدر بيانات الكائن

  1. في قائمة بيانات ، انقر فوقإظهار مصادر البيانات.

  2. في نافذة مصادر البيانات ، انقر فوقإضافة مصدر بيانات جديد.

    يظهر Data Source Configuration Wizard .

  3. في الصفحة اختيار بيانات المصدر نوع ، انقر فوق كائن ثم ثم انقر فوق التالي.

  4. في الصفحة تحديد "الكائنات البيانات" ، قم بتوسيع طريقة العرض الشجري مرتين، وحدد خانة اختيار بعد ذلك إلى من Cusإلىmers.

    ملاحظة

    تأكد من إلى تحديد Cusإلىmers ، وليس المفرد من Cusإلىmer. إذا العملاء هو غير متوفر، خروج معالج وإعادة بناء الحل.

  5. انقر فوق Finish.

    الإطار Data Sources هو معبأ بكائن مصدر البيانات.

إنشاء عناصر التحكم المرتبطة بالبيانات

قم بإنشاء عناصر التحكم التي تعرض البيانات في الكائنات بواسطة سحب العملاء وعقد Orders (الطلبيات) من الإطار المصادر البيانات إلى المصمم.

إلى إنشاء عناصر تحكم حدود بيانات

  1. قم بفتح MainPage.xaml في عرض "تصميم".

  2. من الإطار Data Sources ، يسحب العقدة العملاء إلى المصمم.

  3. من الإطار Data Sources ، يسحب العقدة Orders (الطلبيات) إلى المصمم أسفل الشبكة العملاء.

يملأ الكائنات باستخدام بيانات و يربط إلى CollectionViewSource منشأ

لأن th هو تستخدم معاينة الكائنات المخصصة كنموذج بيانات، وبيانات نموذج هو التي تم إنشاؤها وتحميله عند فتح صفحة Silverlight.

بعد سحب مصدر بيانات كائن من Data Sources إطار وتعليق التعليمات برمجية هو التي تم إنشاؤها للمساعدة في تكوين مصدر البيانات للإشارة إلى كائن مخصص الخاص بك. إلغاء التعليق تعليمات برمجية المنشأة و تعيين [System.Windows.Data.CollectionViewSource.Source](myCollectionViewSource) للإشارة إلى المجموعة من الكائنات بيانات. يوضح إجراء التالي كيفية تعديل تعليمات برمجية المنشأة ل يربط لعناصر التحكم التي تم إنشاؤها.

كل مرة يتم يسحب عناصر من الإطار المصادر بيانات للمصمم، [System.Windows.Data.CollectionViewSource]هو المنشأة تشغيل صفحة Silverlight. يعتمد اسمه تشغيل مصدر بيانات الذي تستخدمه. قم باستبدال التعليق الذي يقرأ: 'Resource Key for CollectionViewSource'مع أما CustomersViewSource أو customerViewSource، اعتماداً تشغيل اللغة.

إلى تعبئة الكائنات باستخدام بيانات ثم قم بربط عناصر التحكم إلى الكائنات

  1. في من مستكشف الحل، قم بتوسيع العقدة MainPage.xaml ، ومن ثم انقر نقراً مزدوجاً فوق MainPage.xaml رمز ملف.

  2. في تعليمات برمجية الملف ( MainPage.xaml.vb أو MainPage.xaml.cs) بإضافة الأسلوب التالي إلى MainPageالفئة:

    ' Create sample data.
    Private Function GetCustomers() As Customers
    
        Dim customers As New Customers
    
        ' Create 3 sample customers,
        ' each with 3 sample orders.
        Dim cust1 As New Customer("1", "A Bike Store", "Seattle")
        Dim cust1Orders As New Orders
        cust1Orders.Add(New Order(1, cust1.CustomerID))
        cust1Orders.Add(New Order(2, cust1.CustomerID))
        cust1Orders.Add(New Order(3, cust1.CustomerID))
        cust1.Orders = cust1Orders
    
        Dim cust2 As New Customer("2", "Progressive Sports", "Renton")
        Dim cust2Orders As New Orders
        cust2Orders.Add(New Order(4, cust2.CustomerID))
        cust2Orders.Add(New Order(5, cust2.CustomerID))
        cust2Orders.Add(New Order(6, cust2.CustomerID))
        cust2.Orders = cust2Orders
    
        Dim cust3 As New Customer("3", "Advanced Bike Components", "Irving")
        Dim cust3Orders As New Orders
        cust3Orders.Add(New Order(7, cust3.CustomerID))
        cust3Orders.Add(New Order(8, cust3.CustomerID))
        cust3Orders.Add(New Order(9, cust3.CustomerID))
        cust3.Orders = cust3Orders
    
        ' Add the sample customer objects to the 
        ' Customers collection.
        customers.Add(cust1)
        customers.Add(cust2)
        customers.Add(cust3)
    
        Return customers
    End Function
    
    // Create sample data.
    private Customers GetCustomers()
    {
        Customers customers = new Customers();
    
        // Create 3 sample customers,
        // each with 3 sample orders.
        Customer cust1 = new Customer("1", "A Bike Store", "Seattle");
        Orders cust1Orders = new Orders();
        cust1Orders.Add(new Order(1, cust1.CustomerID));
        cust1Orders.Add(new Order(2, cust1.CustomerID));
        cust1Orders.Add(new Order(3, cust1.CustomerID));
        cust1.Orders = cust1Orders;
    
        Customer cust2 = new Customer("2", "Progressive Sports", "Renton");
        Orders cust2Orders = new Orders();
        cust2Orders.Add(new Order(4, cust2.CustomerID));
        cust2Orders.Add(new Order(5, cust2.CustomerID));
        cust2Orders.Add(new Order(6, cust2.CustomerID));
        cust2.Orders = cust2Orders;
    
        Customer cust3 = new Customer("3", "Advanced Bike Components", "Irving");
        Orders cust3Orders = new Orders();
        cust3Orders.Add(new Order(7, cust3.CustomerID));
        cust3Orders.Add(new Order(8, cust3.CustomerID));
        cust3Orders.Add(new Order(9, cust3.CustomerID));
        cust3.Orders = cust3Orders;
    
        // Add the sample customer objects to the 
        // Customers collection.
        customers.Add(cust1);
        customers.Add(cust2);
        customers.Add(cust3);
    
        return customers;
    }
    
  3. استبدال رمز التعليقات داخل UserControl_Loadedمعالج الأحداث بما يلي:

    'Do not load your data at design time.
    If Not (System.ComponentModel.DesignerProperties.GetIsInDesignMode(Me)) Then
        'Load your data here and assign the result to the CollectionViewSource.
        Dim myCollectionViewSource As System.Windows.Data.CollectionViewSource = CType(Me.Resources("CustomersViewSource"), System.Windows.Data.CollectionViewSource)
        myCollectionViewSource.Source = GetCustomers()
    End If
    
    // Do not load your data at design time.
     if (!System.ComponentModel.DesignerProperties.GetIsInDesignMode(this))
     {
        //Load your data here and assign the result to the CollectionViewSource.
        System.Windows.Data.CollectionViewSource myCollectionViewSource = (System.Windows.Data.CollectionViewSource)this.Resources["customersViewSource"];
        myCollectionViewSource.Source = GetCustomers();
     }
    

اختبار التطبيق

البناء والتشغيل تطبيق إلى التحقق من أنه يمكنك عرض سجلات cusإلىmer.

لإختبار التطبيق

  1. قائمة بنية ، انقر فوق إنشاء الحل. تحقق من بناء الحل بدون أخطاء.

  2. قم بتشغيل التطبيق.

  3. تحقق من ظهور العملاء 3 في شبكة البيانات و محدد يتم عرض طلبات العميل في شبكة الطلبات.

  4. تحديد عميل آخر و التحقق من الطلبات التي يتم محدثها لعرض الطلبات الخاصة بالعميل المتحديد فقط.

  5. اغلق التطبيق.

الخطوات التالية

بعد إكمال هذه معاينة، يمكنك تنفيذ المهام ذات الصلة التالية:

  • تعلم كيفية حفظ التغييرات إلى مخزن بيانات الخاص بك. ل المزيد من المعلومات، راجع ربط بيانات.

راجع أيضًا:

موارد أخرى

الوصول إلى بيانات في ‏‫Visual Studio

الوصول إلى بيانات وبنيات بيانات