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


Конструктор WPF для разработчиков Windows Forms

Конструктор WPF для Visual Studio имеет много общего с конструктором Windows Forms, но также и ряд отличий. В этом разделе описываются некоторые из различий, а также выполнение задач, подобных задачам из конструктора Windows Forms, используя сред. Конструктор WPF.

Акцент на язык XAML

Наиболее существенным различием между конструктором Windows Forms и сред. Конструктор WPF является представление с разделением. Представление с разделением позволяет просматривать одновременно разметку XAML и область конструктора. сред. Конструктор WPF в основном полагается на представление XAML и предоставляет совершенные средства редактирования (включая IntelliSense) для языка XAML приложения. Используя представление XAML, можно выполнять многие задачи, подобные задачам из конструктора Windows Forms. Представление с разделением обеспечивает немедленную реакцию, отображая результаты внесения изменений в представлении XAML. Дополнительные сведения о представлении с разделением см. в разделе Комбинированный режим — одновременный просмотр области конструктора WPF и XAML.

Для выполнения задач, не поддерживаемых в сред. Конструктор WPF, наряду с Visual Studio можно также использовать Expression Blend. Дополнительные сведения см. в разделе Совместная работа с использованием средства Expression Blend.

Усовершенствования конструктора WPF

В сред. Конструктор WPF внесено много улучшений по сравнению с конструктором Windows Forms. К этим улучшениям относятся:

  • Линии и заглушки поля: линии границ вокруг каждого элемента управления указывают, что для этого элемента управления была установлена граница. Заглушка границы указывает, что для края элемента управления граница не установлена.

  • Элемент управления "Увеличение": данный элемент управления появляется в левом верхнем углу представления "Конструктор" и позволяет разработчику увеличивать или уменьшать область конструктора, чтобы выполнять точные корректировки. После увеличения масштаба можно осуществлять сдвиг по поверхности конструктора.

  • Линии привязки: линии привязки отображаются и в сред. Конструктор WPF, и в конструкторе Windows Forms, однако, в сред. Конструктор WPF на них также отображаются точные значения. Помимо отображения выравнивания элементов управления, линии привязки также показывают выравнивание текста для текстовых элементов управления. Дополнительные сведения см. в разделе Практическое руководство. Выравнивание по базовой линии и полям текста.

Задачи конструктора Windows Forms и эквивалентные задачи конструктора WPF

В следующей таблице приведены указания по выполнению различных задач в сред. Конструктор WPF.

Задача в конструкторе Windows Forms

Эквивалент в конструкторе WPF

Абсолютная структура

Используйте класс Canvas в качестве корневого элемента.

Сортировка по алфавиту в окне "Свойства"

В окне "Свойства" нажмите кнопку По алфавиту. Для поиска свойства используйте поле Поиск.

Можно просматривать свойства, используя IntelliSense в представлении XAML или в редакторе кода. Можно также воспользоваться обозревателем объектов.

Привязка

Чтобы задать адресатов привязки, используйте Grid и характеристики привязки в представлении конструирования.

Анимация

Используйте Expression Blend.

Значок приложения

Задайте свойство Icon в основном классе Window приложения.

Назначение последовательности табуляции

Выделите каждый элемент управления и задайте соответствующее свойство TabIndex в представлении XAML или в окне "Свойства". Последовательность табуляции по умолчанию — это последовательность, в которой элементы управления отображаются в родительском контейнере.

Компоненты и область компонентов

Невизуальные компоненты в панели элементов сред. Конструктор WPF не отображаются. Для ссылки на ресурсы и нелокальные типы используйте представление XAML и сопоставление пространства имен. Дополнительные сведения см. в разделе Практическое руководство. Импорт пространства имен в XAML.

Окно источников данных и привязка данных

Дополнительные сведения об окне "Источники данных" см. в разделе Привязка элементов управления WPF к данным в Visual Studio.

Можно осуществлять привязку экземпляра времени разработки к данным, используя расширение разметки DesignInstance. Дополнительные сведения см. в разделе Пошаговое руководство. Использование свойства DesignInstance для привязки данных в конструкторе.

Если привязка осуществляется к XML или объектам, для определения источников и привязок данных можно также использовать Expression Blend. Скопируйте и вставьте автоматически созданный язык XAML в представление XAML в сред. Конструктор WPF. Можно также открыть проект Visual Studio в Expression Blend и создать ресурсы непосредственно.

Объявление и присоединение обработчиков событий

В окне "Свойства" нажмите кнопку События и дважды щелкните требуемое событие.

Для обработчика событий по умолчанию дважды щелкните элемент управления в представлении конструирования. Можно также использовать для выбора требуемого события IntelliSense в представлении XAML. Дополнительные сведения см. в разделе Практическое руководство. Создание простого обработчика событий.

Создание меню

Используйте представление XAML или задействуйте Редактор коллекции в окне "Свойства" коллекции Items и задайте свойство Header каждого элемента.

Определение кистей и цветов

В окне "Свойства" найдите свойство brush-type и щелкните направленную вниз стрелку. Используйте редактор кисти для разработки кисти. Дополнительные сведения см. в разделе Практическое руководство. Создание кисти с помощью редактора кисти.

Можно использовать Expression Blend. Скопируйте и вставьте автоматически созданный язык XAML в представление XAML в сред. Конструктор WPF. Можно также открыть проект Visual Studio в Expression Blend и создать ресурсы непосредственно.

Удаление линий сетки

Щелкните индикатор линии сетки и перетащите его с границы сетки. Дополнительные сведения см. в разделе Практическое руководство. Удаление строк и столбцов из сетки.

Можно также использовать представление XAML для удаления соответствующих определений строк или столбцов, после чего исправьте назначения Grid.Column или Grid.Row затронутых дочерних элементов управления, которые имеют родительский объект внутри Grid.

Отображение изображения

Используйте элемент управления Image. Дополнительные сведения см. в разделе Практическое руководство. Добавление изображений в проект WPF.

Отображение элемента UserControl в панели элементов

Добавьте ссылку проекта в сборку пользовательского элемента управления и используйте IntelliSense в представлении XAML, чтобы назначить атрибут xmlns.

Можно также использовать диалоговое окно Выбор элементов панели элементов и перейти в сборку, содержащую соответствующий элемент управления, но существуют ограничения. Дополнительные сведения см. в разделе Вкладка "Компоненты WPF" диалогового окна "Выбор элементов панели элементов".

Распространение элементов управления по форме

Используйте элемент StackPanel.

Закрепление

Используйте элемент DockPanel для нескольких элементов управления. Можно также задействовать элемент Grid и привязать элементы управления к границам ячеек сетки, используя привязки к линиям сетки.

Поставщик ошибок

Визуальное проектирование не поддерживается. Используйте класс Validation в представлении XAML. Дополнительные сведения см. в разделе Практическое руководство. Реализация проверки привязки.

Перейти к определению

В коде щелкните правой кнопкой мыши символ и выберите команду Перейти к определению.

Для поиска из представления XAML откройте все файлы XAML в проекте и используйте окно Поиск и замена. Дополнительные сведения см. в разделе Окно "Поиск и замена".

Поставщик справки

Визуальное проектирование не поддерживается. Используйте представление XAML.

Гиперссылка

Используйте класс Hyperlink в растягиваемом содержимом.

InkCanvas

Визуальное проектирование не поддерживается. Используйте представление XAML.

Блокировка

Не поддерживается.

MediaElement

Визуальное проектирование не поддерживается. Используйте представление XAML.

Назначенные символы

Разместите перед назначенным символом символ подчеркивания "_" вместо символа амперсанда "&".

Раскрывающийся список селектора объектов в окне "Свойства"

Выделите объект в окне "Структура документа", навигаторе по тегам или представлении конструирования. Чтобы открыть окно "Структура документа", откройте меню Вид, выберите Другие окна, затем Структура документа.

Popup

Визуальное проектирование не поддерживается. Используйте представление XAML.

Ссылки на нелокальные типы в языке XAML.

Добавьте ссылку проекта и используйте IntelliSense в представлении XAML, чтобы задать атрибут xmlns. Дополнительные сведения см. в разделе Практическое руководство. Импорт пространства имен в XAML.

ПримечаниеПримечание
сред. Конструктор WPF пытается создать соответствия на основе псевдонима пространства имен после атрибута xmlns вместо полного синтаксиса, использующего clr-namespace.

Переименование и оптимизация кода

Откройте все файлы XAML в проекте и используйте окно Поиск и замена. Дополнительные сведения см. в разделе Окно "Поиск и замена".

Удаление полей

В представлении конструирования выделите все элементы, поля которых будут удалены. В окне "Свойства" введите 0 для свойства Margin.

Изменение размера формы после размещения элемента управления

Поскольку при изменении размера окна может измениться размер содержимого, действуйте следующим образом. Выделите все элементы и вырежьте их. Затем измените размер окна и вставьте элементы.

Задание текста для элементов управления Button, Label, CheckBox и RadioButton

В окне "Свойства" задайте свойство Content. Можно также задать текст в представлении XAML.

Смарт-теги

Не поддерживается.

Всплывающие подсказки

Визуальное проектирование не поддерживается. Используйте класс ToolTip в представлении XAML.

Viewbox

Визуальное проектирование не поддерживается. Используйте представление XAML.

Визуальное наследование

Не поддерживается.

WindowsFormsHost

Визуальное проектирование не поддерживается. Используйте представление XAML.

z-порядок

Выделите и переместите тег элемента в представлении XAML или выделите Порядок во контекстным меню в представлении конструирования. Для подтверждения z-порядка элемента используйте окно "Структура документа".

См. также

Основные понятия

Элементы управления Windows Forms и эквивалентные элементы управления WPF

Общие сведения о конструкторах WPF и Silverlight

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

Приступая к работе с конструктором WPF