Поделиться через


Пошаговое руководство. Использование свойства DesignInstance для привязки данных в конструкторе

В этом пошаговом руководстве демонстрируется порядок использования Конструктор WPF для Visual Studio для создания привязок данных во время разработки для контекста данных, назначаемого во время выполнения. Для создания привязки к данным используется построитель привязок к данным, создающий специальный контекст данных времени разработки и присваивающий свойству DesignInstance тип бизнес-объекта. DesignInstance является свойством времени разработки.

В данном пошаговом руководстве выполняются следующие задачи.

  • Создание проекта.

  • Создание бизнес-объекта класса Customer.

  • Связывание данных элемента управления TextBox с экземпляром времени разработки класса Customer в контексте данных.

По завершении у вас будет текстовое поле, привязанное во время разработки к бизнес-объекту. Привязка данных задается в сред. Конструктор WPF.

Примечание

Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих настроек или выпуска.Чтобы изменить параметры, выберите в меню Сервис пункт Импорт и экспорт параметров.Дополнительные сведения см. в разделе Работа с параметрами.

Обязательные компоненты

Ниже приведены компоненты, необходимые для выполнения данного пошагового руководства.

  • Visual Studio 2010.

Создание проекта

Первым шагом является создание проекта приложения WPF и включение свойств времени разработки.

Создание проекта

  1. Создайте в Visual Basic или Visual C# новый проект приложения WPF с именем DataBindingDemo. Дополнительные сведения см. в разделе Практическое руководство. Создание нового проекта приложения WPF.

    Файл MainWindow.xaml будет открыт в сред. Конструктор WPF.

  2. В конструкторе щелкните тег root size (Тег размера корня) в правом нижнем углу окна MainWindow, чтобы установить root size равным auto size.

    В представлении XAML конструктор добавляет сопоставление пространства имен d, обеспечивающее возможность доступа к таким атрибутам времени разработки, как DesignHeight и DesignInstance.

Создание бизнес-объекта

Теперь создайте бизнес-объект. Бизнес-объект – это просто класс Customer, который имеет свойства FirstName и LastName.

Примечание

Тип бизнес-объекта не обязательно должен быть создаваемым для использования в привязке данных времени разработки.Например, во время разработки можно выполнить привязку к абстрактному классу.

Создание бизнес-объекта

  1. Добавьте в проект новый класс с именем Customer. Дополнительные сведения см. в разделе Практическое руководство. Добавление в проект новых элементов.

  2. Замените автоматически создаваемый код на следующий код.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace DataBindingDemo
    {
        public class Customer
        {   
            public string FirstName { get; set; }
            public string LastName { get; set; }
        }
    }
    

Установка контекста данных времени разработки

Для создания привязки к данным с использованием построителя привязок к данным вы создаете специальный контекст данных времени разработки и присваиваете свойству DesignInstance тип бизнес-объекта.

Установка контекста данных времени разработки

  1. Откройте файл MainWindow.xaml в сред. Конструктор WPF.

  2. В представлении XAML добавьте следующее сопоставление пространств имен в открывающий тег MainWindow. Дополнительные сведения см. в разделе Практическое руководство. Импорт пространства имен в XAML.

    xmlns:local="clr-namespace:DataBindingDemo"
    
  3. Замените открывающий тег элемента Grid следующим XAML-кодом.

    <Grid d:DataContext="{d:DesignInstance Type=local:Customer}" Name="_grid">
    

    Этот код XAML устанавливает контекст данных времени разработки и делает класс Customer доступным для создания привязок данных.

  4. Выполните построение решения.

Создание привязки данных

Теперь вы создадите привязки данных для бизнес-объекта Customer с использованием построителя привязок данных. В следующем примере показано, как привязать элемент управления TextBox к свойству FirstName объекта Customer.

Создание привязки данных

  1. Из панели элементов перетащите элемент управления TextBox в сетку Window.

  2. В окне "Свойства" найдите свойство Text.

  3. На границе левого столбца щелкните метку свойства (Маркер свойства).

    Появится меню.

    Совет

    Кроме того, меню можно открыть, щелкнув строку правой кнопкой мыши.

  4. Щелкните Применить привязку данных.

    Отобразится построитель привязки данных, в котором открыта область Путь.

    Построитель привязки данных

  5. Щелкните FirstName и нажмите клавишу ВВОД.

    В представлении XAML свойство Text имеет привязку данных к принадлежащему типу Customer свойству FirstName.

Установка контекста данных времени выполнения

Напоследок вы присвоите контекст данных времени выполнения. Созданная вами во время разработки привязка данных работает во время выполнения без изменений в XAML или коде.

Установка контекста данных времени выполнения

  1. В редакторе кода откройте файл MainWindow.xaml.cs или MainWindow.xaml.vb.

  2. Замените автоматически создаваемый конструктор MainWindow следующим кодом.

    public MainWindow()
    {
        InitializeComponent();
    
        Customer c = new Customer();
        c.FirstName = "Brenda";
        c.LastName = "Diaz";
    
        this._grid.DataContext = c;
    }
    
  3. Нажмите клавишу F5 для запуска приложения.

    В текстовом поле отобразится первое имя объекта Customer, созданного во время выполнения.

    Контекст данных, задаваемый во время выполнения

Следующие действия

См. также

Ссылки

DataContext

Другие ресурсы

Атрибуты времени разработки

Привязка данных в конструкторе WPF