- Пошаговое руководство. Размещение элементов управления Windows Forms в WPF Walkthrough: Hosting a Windows Forms Control in WPF
- Предварительные условия Prerequisites
- Размещение элемента управления Windows Forms Hosting the Windows Forms Control
- Чтобы разместить элемент управления MaskedTextBox, выполните следующие действия. To host the MaskedTextBox control
- Пошаговое руководство. Создание нового содержимого WPF на Windows Forms во время разработки Walkthrough: Create new WPF content on Windows Forms at design time
- Предварительные требования Prerequisites
- Создание проекта Create the project
- Создание нового элемента управления WPF Create a new WPF control
- Добавление элемента управления WPF в форму Windows Forms Add a WPF control to a Windows Form
- Дальнейшие действия Next steps
- Взаимодействие WPF и Windows Forms WPF and Windows Forms Interoperation
- Размещение элементов управления Windows Forms в WPF Hosting Windows Forms Controls in WPF
- Поддержка макета Layout Support
- Внешние свойства Ambient Properties
- Поведение Behavior
- Размещение элементов управления WPF в Windows Forms Hosting WPF Controls in Windows Forms
Пошаговое руководство. Размещение элементов управления Windows Forms в WPF Walkthrough: Hosting a Windows Forms Control in WPF
WPF WPF предоставляет множество элементов управления с богатым набором функций. provides many controls with a rich feature set. Однако иногда может потребоваться использовать элементы управления Windows Forms на WPF WPF страницах. However, you may sometimes want to use Windows Forms controls on your WPF WPF pages. Например, у вас может быть существенный вклад в существующие элементы управления Windows Forms или имеется элемент управления Windows Forms, обеспечивающий уникальную функциональность. For example, you may have a substantial investment in existing Windows Forms controls, or you may have a Windows Forms control that provides unique functionality.
В этом пошаговом руководстве показано, как разместить System.Windows.Forms.MaskedTextBox элемент управления Windows Forms на WPF WPF странице с помощью кода. This walkthrough shows you how to host a Windows Forms System.Windows.Forms.MaskedTextBox control on a WPF WPF page by using code.
Полный листинг кода задач, приведенных в этом пошаговом руководстве, см. в разделе Пример размещения элемента управления Windows Forms в WPF. For a complete code listing of the tasks shown in this walkthrough, see Hosting a Windows Forms Control in WPF Sample.
Предварительные условия Prerequisites
Для выполнения шагов, описанных в этом руководстве, вам понадобится Visual Studio. You need Visual Studio to complete this walkthrough.
Размещение элемента управления Windows Forms Hosting the Windows Forms Control
Чтобы разместить элемент управления MaskedTextBox, выполните следующие действия. To host the MaskedTextBox control
Создайте проект приложения WPF с именем HostingWfInWpf . Create a WPF Application project named HostingWfInWpf .
Добавьте ссылки на следующие сборки. Add references to the following assemblies.
Откройте файл MainWindow. XAML в конструкторе WPF. Open MainWindow.xaml in the WPF Designer.
Присвойте Grid элементу имя grid1 . Name the Grid element grid1 .
В представление конструирования или представлении XAML выберите Window элемент. In Design view or XAML view, select the Window element.
В окно свойств перейдите на вкладку события . In the Properties window, click the Events tab.
Дважды щелкните Loaded событие. Double-click the Loaded event.
Вставьте следующий код, чтобы обрабатывал Loaded событие. Insert the following code to handle the Loaded event.
В верхней части файла добавьте следующий Imports using оператор или. At the top of the file, add the following Imports or using statement.
Нажмите клавишу F5 для сборки и запуска приложения. Press F5 to build and run the application.
Пошаговое руководство. Создание нового содержимого WPF на Windows Forms во время разработки Walkthrough: Create new WPF content on Windows Forms at design time
В этой статье показано, как создать элемент управления Windows Presentation Foundation (WPF) для использования в приложениях на основе Windows Forms. This article shows you how to create a Windows Presentation Foundation (WPF) control for use in your Windows Forms-based applications.
Предварительные требования Prerequisites
Для выполнения шагов, описанных в этом руководстве, вам понадобится Visual Studio. You need Visual Studio to complete this walkthrough.
Создание проекта Create the project
Откройте Visual Studio и создайте новый проект Windows Forms приложения (платформа .NET Framework) в Visual Basic или Visual C# с именем HostingWpf . Open Visual Studio and create a new Windows Forms App (.NET Framework) project in Visual Basic or Visual C# named HostingWpf .
При размещении содержимого WPF поддерживаются только проекты C# и Visual Basic. When hosting WPF content, only C# and Visual Basic projects are supported.
Создание нового элемента управления WPF Create a new WPF control
Создать элемент управления WPF и добавить его в проект можно так же легко, как добавить в проект любой другой элемент. Creating a new WPF control and adding it to your project is as easy as adding any other item to your project. Конструктор Windows Forms работает с определенным видом элемента управления с именем составного элемента управления или пользовательским элементом управления. The Windows Forms Designer works with a particular kind of control named composite control, or user control. Подробнее о пользовательских элементах управления WPF см. в разделе UserControl. For more information about WPF user controls, see UserControl.
Тип System.Windows.Controls.UserControl для элементов управления WPF отличается от типа пользовательских элементов управления, предоставляемого Windows Forms, который также называется System.Windows.Forms.UserControl. The System.Windows.Controls.UserControl type for WPF is distinct from the user control type provided by Windows Forms, which is also named System.Windows.Forms.UserControl.
Чтобы создать новый элемент управления WPF, сделайте следующее: To create a new WPF control:
В Обозреватель решений добавьте в решение новый проект библиотеки пользовательских элементов управления WPF (платформа .NET Framework) . In Solution Explorer, add a new WPF User Control Library (.NET Framework) project to the solution. Используйте имя по умолчанию для библиотеки элементов управления ( WpfControlLibrary1 ). Use the default name for the control library, WpfControlLibrary1 . Имя элемента управления по умолчанию — UserControl1.xaml . The default control name is UserControl1.xaml .
Добавление нового элемента управления имеет следующие последствия. Adding the new control has the following effects:
Добавляется файл UserControl1.xaml. File UserControl1.xaml is added.
Добавлен файл UserControl1.xaml.cs (или UserControl1. XAML. vb). File UserControl1.xaml.cs (or UserControl1.xaml.vb) is added. Этот файл содержит код программной части для обработчиков событий и иных реализованных компонентов. This file contains the code-behind for event handlers and other implementation.
Добавляются ссылки на сборки WPF. References to WPF assemblies are added.
Файл UserControl1. XAML откроется в конструкторе WPF для Visual Studio. File UserControl1.xaml opens in the WPF Designer for Visual Studio.
Убедитесь в том, что элемент UserControl1 выбран в представлении конструирования. In Design view, make sure that UserControl1 is selected.
В окне Свойства задайте Width Height для свойств и значение 200. In the Properties window, set the value of the Width and Height properties to 200.
Перетащите элемент управления из области элементов в System.Windows.Controls.TextBox область конструктора. From the Toolbox, drag a System.Windows.Controls.TextBox control onto the design surface.
В окне Свойства присвойте Text свойству значение размещенное содержимое. In the Properties window, set the value of the Text property to Hosted Content.
Обычно размещается более сложное содержимое WPF. In general, you should host more sophisticated WPF content. Элемент управления System.Windows.Controls.TextBox используется здесь в целях наглядности. The System.Windows.Controls.TextBox control is used here for illustrative purposes only.
Выполните построение проекта. Build the project.
Добавление элемента управления WPF в форму Windows Forms Add a WPF control to a Windows Form
Новый элемент управления WPF готов к использованию в форме. Your new WPF control is ready for use on the form. Windows Forms использует ElementHost элемент управления для размещения содержимого WPF. Windows Forms uses the ElementHost control to host WPF content.
Чтобы добавить элемент управления WPF в форму Windows Forms, выполните следующие действия. To add a WPF control to a Windows Form:
Откройте Form1 в конструкторе Windows Forms. Open Form1 in the Windows Forms Designer.
На панели элементов найдите вкладку с надписью впфусерконтроллибрари User Controls (пользовательские элементы управления WPF). In the Toolbox, find the tab labeled WPFUserControlLibrary WPF User Controls.
Перетащите экземпляр UserControl1 в форму. Drag an instance of UserControl1 onto the form.
Для размещения элемента управления WPF на форме будет автоматически создан элемент управления ElementHost. An ElementHost control is created automatically on the form to host the WPF control.
ElementHostЭлемент управления называется, elementHost1 и в окне Свойства можно увидеть, что его Child свойство имеет значение UserControl1. The ElementHost control is named elementHost1 and in the Properties window, you can see its Child property is set to UserControl1.
В проект добавляются ссылки на сборки WPF. References to WPF assemblies are added to the project.
Элемент управления elementHost1 имеет панель смарт-тегов, на которой приводятся имеющиеся параметры размещения. The elementHost1 control has a smart tag panel that shows the available hosting options.
На панели смарт-тегов Задачи ElementHost выберите закрепить в родительском контейнере. In the ElementHost Tasks smart tag panel, select Dock in parent container.
Нажмите клавишу F5 для сборки и запуска приложения. Press F5 to build and run the application.
Дальнейшие действия Next steps
Windows Forms и WPF — это разные технологии, но они предназначены для тесного взаимодействия. Windows Forms and WPF are different technologies, but they are designed to interoperate closely. Чтобы обеспечить расширенный внешний вид и поведение приложений, попробуйте выполнить следующие действия. To provide richer appearance and behavior in your applications, try the following:
Размещение элемента управления Windows Forms на странице WPF. Host a Windows Forms control in a WPF page. Дополнительные сведения см. в разделе Пошаговое руководство. размещение элемента управления Windows Forms в WPF. For more information, see Walkthrough: Hosting a Windows Forms Control in WPF.
Применение стилей оформления Windows Forms к содержимому WPF. Apply Windows Forms visual styles to your WPF content. Дополнительные сведения см. в разделе Практическое руководство. Включение визуальных стилей в гибридном приложении. For more information, see How to: Enable Visual Styles in a Hybrid Application.
Изменение стиля оформления содержимого WPF. Change the style of your WPF content. Дополнительные сведения см. в разделе Пошаговое руководство. стилизация содержимого WPF. For more information, see Walkthrough: Styling WPF Content.
Взаимодействие WPF и Windows Forms WPF and Windows Forms Interoperation
WPF WPF и Windows Forms представляют две разные архитектуры для создания интерфейсов приложений. and Windows Forms present two different architectures for creating application interfaces. System.Windows.Forms.IntegrationПространство имен предоставляет классы, обеспечивающие общие сценарии взаимодействия. The System.Windows.Forms.Integration namespace provides classes that enable common interoperation scenarios. Двумя ключевыми классами, реализующими возможности взаимодействия, являются WindowsFormsHost и ElementHost . The two key classes that implement interoperation capabilities are WindowsFormsHost and ElementHost. В этом разделе описано, какие сценарии взаимодействия поддерживаются, а какие нет. This topic describes which interoperation scenarios are supported and which scenarios are not supported.
Особое внимание уделено сценарию гибридного элемента управления. Special consideration is given to the hybrid control scenario. Гибридный элемент управления — это элемент управления на основе одной технологии, в который вложен элемент управления на основе другой технологии. A hybrid control has a control from one technology nested in a control from the other technology. Это также называется вложенным взаимодействием. This is also called a nested interoperation. В многоуровневом гибридном элементе управления более одного уровня вложения. A multilevel hybrid control has more than one level of hybrid control nesting. Примером многоуровневого вложенной операции является элемент управления Windows Forms, содержащий WPF WPF элемент управления, который содержит другой элемент управления Windows Forms. An example of a multilevel nested interoperation is a Windows Forms control that contains a WPF WPF control, which contains another Windows Forms control. Многоуровневые гибридные элементы управления не поддерживаются. Multilevel hybrid controls are not supported.
Размещение элементов управления Windows Forms в WPF Hosting Windows Forms Controls in WPF
При размещении элемента управления Windows Forms поддерживаются следующие сценарии взаимодействия WPF WPF : The following interoperation scenarios are supported when a WPF WPF control hosts a Windows Forms control:
WPF WPF Элемент управления может содержать один или несколько элементов управления Windows Forms с помощью XAML. The WPF WPF control may host one or more Windows Forms controls using XAML.
В нем может размещаться один или несколько элементов управления Windows Forms с помощью кода. It may host one or more Windows Forms controls using code.
В нем могут размещаться Windows Forms контейнерные элементы управления, которые содержат другие элементы управления Windows Forms. It may host Windows Forms container controls that contain other Windows Forms controls.
В ней может размещаться форма «основной/подробности WPF WPF » с главным и Windows Forms сведениями. It may host a master/detail form with a WPF WPF master and Windows Forms details.
В нем может размещаться форма «основной/подробности» с Windows Forms главным и WPF WPF подробными сведениями. It may host a master/detail form with a Windows Forms master and WPF WPF details.
В ней может размещаться один или несколько элементов управления ActiveX. It may host one or more ActiveX controls.
В него могут быть вложены один или несколько составных элементов управления. It may host one or more composite controls.
С помощью Язык XAML Extensible Application Markup Language (XAML) в него могут быть вложены гибридные элементы управления. It may host hybrid controls using Язык XAML Extensible Application Markup Language (XAML) .
С помощью кода в него могут быть вложены гибридные элементы управления. It may host hybrid controls using code.
Поддержка макета Layout Support
В следующем списке описаны известные ограничения при WindowsFormsHost попытке элемента интегрировать элемент управления, размещенный Windows Forms, в WPF WPF систему макета. The following list describes the known limitations when the WindowsFormsHost element attempts to integrate its hosted Windows Forms control into the WPF WPF layout system.
В некоторых случаях размеры элементов управления Windows Forms не могут изменяться или их размер можно изменять только до определенных размеров. In some cases, Windows Forms controls cannot be resized, or can be sized only to specific dimensions. Например, ComboBox элемент управления Windows Forms поддерживает только одну высоту, которая определяется размером шрифта элемента управления. For example, a Windows Forms ComboBox control supports only a single height, which is defined by the control’s font size. В WPF WPF динамическом макете, в котором предполагается, что элементы могут растягиваться вертикально, размещаемый ComboBox элемент управления не будет растягиваться должным образом. In a WPF WPF dynamic layout, which assumes that elements can stretch vertically, a hosted ComboBox control will not stretch as expected.
Элементы управления Windows Forms нельзя поворачивать или расклонять. Windows Forms controls cannot be rotated or skewed. Например, при повороте пользовательского интерфейса на 90 градусов размещаемые элементы управления Windows Forms будут поддерживать свое вертикальное расположение. For example, when you rotate your user interface by 90 degrees, hosted Windows Forms controls will maintain their upright position.
В большинстве случаев Windows Forms элементы управления не поддерживают пропорциональное масштабирование. In most cases, Windows Forms controls do not support proportional scaling. Несмотря на то, что общий размер элемента управления масштабируется, дочерние элементы управления и компоненты элемента управления могут изменять размеры не так, как ожидается. Although the overall dimensions of the control will scale, child controls and component elements of the control may not resize as expected. Это ограничение зависит от того, насколько хорошо каждый элемент управления Windows Forms поддерживает масштабирование. This limitation depends on how well each Windows Forms control supports scaling.
В пользовательском интерфейсе WPF WPF можно изменить z-порядок элементов для контроля поведения перекрывания. In a WPF WPF user interface, you can change the z-order of elements to control overlapping behavior. Размещенный элемент управления Windows Forms рисуется в отдельном HWND, поэтому он всегда рисуется поверх WPF WPF элементов. A hosted Windows Forms control is drawn in a separate HWND, so it is always drawn on top of WPF WPF elements.
Windows Forms элементы управления поддерживают автомасштабирование на основе размера шрифта. Windows Forms controls support autoscaling based on the font size. В пользовательском интерфейсе WPF WPF изменение размера шрифта не влечет за собой изменение размера всего макета, хотя отдельные элементы могут динамически изменять размер. In a WPF WPF user interface, changing the font size does not resize the entire layout, although individual elements may dynamically resize.
Внешние свойства Ambient Properties
Некоторые свойства окружения WPF WPF элементов управления имеют Windows Forms эквиваленты. Some of the ambient properties of WPF WPF controls have Windows Forms equivalents. Эти внешние свойства распространяются на размещенные элементы управления Windows Forms и предоставляются как общие свойства WindowsFormsHost элемента управления. These ambient properties are propagated to the hosted Windows Forms controls and exposed as public properties on the WindowsFormsHost control. WindowsFormsHostЭлемент управления преобразует каждое WPF WPF внешнее свойство в его Windows Forms эквивалент. The WindowsFormsHost control translates each WPF WPF ambient property into its Windows Forms equivalent.
Поведение Behavior
В приведенной ниже таблице описаны возможности взаимодействия. The following table describes interoperation behavior.
Поведение Behavior | Поддерживается Supported | Не поддерживается Not supported |
---|---|---|
Прозрачность Transparency | Отрисовка Windows Forms элемента управления поддерживает прозрачность. Windows Forms control rendering supports transparency. Фон родительского WPF WPF элемента управления может стать фоном размещенных Windows Forms элементов управления. The background of the parent WPF WPF control can become the background of hosted Windows Forms controls. | Некоторые элементы управления Windows Forms не поддерживают прозрачность. Some Windows Forms controls do not support transparency. Например, TextBox ComboBox элементы управления и не будут прозрачными при размещении в WPF WPF . For example, the TextBox and ComboBox controls will not be transparent when hosted by WPF WPF . |
Переход по клавише TAB Tabbing | Порядок табуляции для размещенных Windows Forms элементов управления аналогичен порядку, когда эти элементы управления размещаются в приложении на основе Windows Forms. Tab order for hosted Windows Forms controls is the same as when those controls are hosted in a Windows Forms-based application. Переход от WPF WPF элемента управления к Windows Forms элементу управления с клавишей TAB и Shift + Tab работает как обычно. Tabbing from a WPF WPF control to a Windows Forms control with the TAB key and SHIFT+TAB keys works as usual. Windows Forms элементы управления, имеющие TabStop значение свойства, false не получают фокус при использовании вкладок пользователя через элементы управления. Windows Forms controls that have a TabStop property value of false do not receive focus when the user tabs through controls. — Каждый WindowsFormsHost элемент управления имеет TabIndex значение, определяющее, когда этот WindowsFormsHost элемент управления будет получать фокус. — Each WindowsFormsHost control has a TabIndex value, which determines when that WindowsFormsHost control will receive focus. | Не применяется Not applicable. |
Переход с помощью клавиш со стрелками Navigation with arrow keys | -Навигация с помощью клавиш со стрелками в WindowsFormsHost элементе управления аналогична обычной Windows Forms контейнерному элементу управления: стрелка вверх и клавиши со стрелками влево выбирают предыдущий элемент управления, а стрелка вниз и клавиша со стрелкой вправо — выбор следующего элемента управления. — Navigation with arrow keys in the WindowsFormsHost control is the same as in an ordinary Windows Forms container control: The UP ARROW and LEFT ARROW keys select the previous control, and the DOWN ARROW and RIGHT ARROW keys select the next control. — Клавиши Стрелка вверх и стрелка влево из первого элемента управления, содержащегося в WindowsFormsHost элементе управления, выполняют то же действие, что и сочетание клавиш SHIFT + TAB. — The UP ARROW and LEFT ARROW keys from the first control that is contained in the WindowsFormsHost control perform the same action as the SHIFT+TAB keyboard shortcut. Если имеется контроль с фокусом WPF WPF , фокус перемещается за пределы WindowsFormsHost элемента управления. If there is a focusable WPF WPF control, focus moves outside the WindowsFormsHost control. Это поведение отличается от стандартного ContainerControl поведения в том, что переход к последнему элементу управления не выполняется. This behavior differs from the standard ContainerControl behavior in that no wrapping to the last control occurs. Если других элементов управления с фокусом не WPF WPF существует, фокус возвращается к последнему Windows Forms элементу управления в последовательности табуляции. If no other focusable WPF WPF control exists, focus returns to the last Windows Forms control in the tab order. — Стрелка вниз и клавиши со СТРЕЛКАми вправо от последнего элемента управления, содержащегося в WindowsFormsHost элементе управления, выполняют то же действие, что и клавиша TAB. — The DOWN ARROW and RIGHT ARROW keys from the last control that is contained in the WindowsFormsHost control perform the same action as the TAB key. Если имеется контроль с фокусом WPF WPF , фокус перемещается за пределы WindowsFormsHost элемента управления. If there is a focusable WPF WPF control, focus moves outside the WindowsFormsHost control. Это поведение отличается от стандартного ContainerControl поведения в том случае, если не выполняется перенос в первый элемент управления. This behavior differs from the standard ContainerControl behavior in that no wrapping to the first control occurs. Если других элементов управления с фокусом не WPF WPF существует, фокус возвращается к первому элементу управления Windows Forms в последовательности табуляции. If no other focusable WPF WPF control exists, focus returns to the first Windows Forms control in the tab order. | Не применяется Not applicable. |
Клавиши быстрого доступа Accelerators | Клавиши быстрого доступа работают как обычно, за исключением пунктов, оговоренных в столбце «Не поддерживается». Accelerators work as usual, except where noted in the «Not supported» column. | Повторяющиеся в различных технологиях клавиши быстрого доступа не работают как обычные повторяющиеся клавиши быстрого доступа. Duplicate accelerators across technologies do not work like ordinary duplicate accelerators. При дублировании ускорителя между технологиями по крайней мере один элемент управления Windows Forms, а другой — элемент управления WPF WPF Windows Forms всегда получает ускоритель. When an accelerator is duplicated across technologies, with at least one on a Windows Forms control and the other on a WPF WPF control, the Windows Forms control always receives the accelerator. Фокус не переключается между элементами управления с одинаковыми клавишами быстрого доступа. Focus does not toggle between the controls when the duplicate accelerator is pressed. |
Сочетания клавиш Shortcut keys | Сочетания клавиш работают как обычно, за исключением пунктов, оговоренных в столбце «Не поддерживается». Shortcut keys work as usual, except where noted in the «Not supported» column. | — Windows Forms сочетания клавиш, которые обрабатываются на этапе предварительной обработки, всегда имеют приоритет над WPF WPF сочетаниями клавиш. — Windows Forms shortcut keys that are handled at the preprocessing stage always take precedence over WPF WPF shortcut keys. Например, если у вас есть ToolStrip элемент управления с назначенными сочетаниями клавиш Ctrl + s и имеется WPF WPF команда, привязанная к Ctrl + s, то ToolStrip обработчик элемента управления всегда вызывается первым, независимо от фокуса. For example, if you have a ToolStrip control with CTRL+S shortcut keys defined, and there is a WPF WPF command bound to CTRL+S, the ToolStrip control handler is always invoked first, regardless of focus. — Windows Forms сочетания клавиш, которые обрабатываются KeyDown событием, обрабатываются последними в WPF WPF . — Windows Forms shortcut keys that are handled by the KeyDown event are processed last in WPF WPF . Это поведение можно предотвратить, переопределив метод элемента управления Windows Forms IsInputKey или обрабатывая PreviewKeyDown событие. You can prevent this behavior by overriding the Windows Forms control’s IsInputKey method or handling the PreviewKeyDown event. Вернитесь true из IsInputKey метода или задайте PreviewKeyDownEventArgs.IsInputKey для свойства значение true в PreviewKeyDown обработчике событий. Return true from the IsInputKey method, or set the value of the PreviewKeyDownEventArgs.IsInputKey property to true in your PreviewKeyDown event handler. |
AcceptsReturn, AcceptsTab и другие специфические свойства элементов управления AcceptsReturn, AcceptsTab, and other control-specific behavior | Свойства, изменяющие поведение клавиатуры по умолчанию, работают обычным образом, предполагая, что элемент управления Windows Forms переопределяет IsInputKey метод для возврата true . Properties that change the default keyboard behavior work as usual, assuming that the Windows Forms control overrides the IsInputKey method to return true . | Windows Forms элементы управления, изменяющие поведение клавиатуры по умолчанию путем обработки KeyDown события, обрабатываются последними в WPF WPF элементе управления ведущего приложения. Windows Forms controls that change default keyboard behavior by handling the KeyDown event are processed last in the host WPF WPF control. Так как эти элементы управления обрабатываются последними, они могут привести к непредвиденному поведению. Because these controls are processed last, they can produce unexpected behavior. |
События Enter и Leave Enter and Leave Events | Если фокус не переходит на вмещающий ElementHost элемент управления, события Enter и Leave создаются обычным образом при изменении фокуса в одном WindowsFormsHost элементе управления. When focus is not going to the containing ElementHost control, the Enter and Leave events are raised as usual when focus changes in a single WindowsFormsHost control. | События Enter и Leave не вызываются при следующих переводах фокуса: Enter and Leave events are not raised when the following focus changes occur: — Из внутри в, за пределами WindowsFormsHost элемента управления. — From inside to outside a WindowsFormsHost control. |
Многопоточность Multithreading | Поддерживаются все возможности многопоточности. All varieties of multithreading are supported. | Как для Windows Forms, так и для WPF WPF технологий предполагается однопотоковая модель параллелизма. Both the Windows Forms and WPF WPF technologies assume a single-threaded concurrency model. Во время отладки вызовы объектов платформы из других потоков будут вызывать исключение для принудительного выполнения этого требования. During debugging, calls to framework objects from other threads will raise an exception to enforce this requirement. |
Безопасность Security | Все сценарии взаимодействия требуют полного доверия. All interoperation scenarios require full trust. | Не допускаются сценарии взаимодействия с частичным доверием. No interoperation scenarios are allowed in partial trust. |
Специальные возможности Accessibility | Поддерживаются все сценарии специальных возможностей. All accessibility scenarios are supported. Продукты с поддержкой специальных возможностей правильно работают, если они используются для гибридных приложений, содержащих как Windows Forms, так и WPF WPF элементы управления. Assistive technology products function correctly when they are used for hybrid applications that contain both Windows Forms and WPF WPF controls. | Не применяется Not applicable. |
Буфер обмена Clipboard | Все операции с буфером обмена работают обычным образом. All Clipboard operations work as usual. Сюда входит Вырезание и вставление между Windows Forms и WPF WPF элементами управления. This includes cutting and pasting between Windows Forms and WPF WPF controls. | Не применяется Not applicable. |
Функция перетаскивания Drag-and-drop feature | Все операции перетаскивания работают обычным образом. All drag-and-drop operations work as usual. Сюда входят операции между Windows Forms и WPF WPF элементами управления. This includes operations between Windows Forms and WPF WPF controls. | Не применяется Not applicable. |
Размещение элементов управления WPF в Windows Forms Hosting WPF Controls in Windows Forms
При размещении элемента управления Windows Forms поддерживаются следующие сценарии взаимодействия WPF WPF : The following interoperation scenarios are supported when a Windows Forms control hosts a WPF WPF control:
Вложение одного или нескольких элементов управления WPF WPF с помощью кода. Hosting one or more WPF WPF controls using code.
Связывание страницы свойств с одним или несколькими вложенными элементами управления WPF WPF . Associating a property sheet with one or more hosted WPF WPF controls.
Вложение одной или нескольких страниц WPF WPF в форму. Hosting one or more WPF WPF pages in a form.
Запуск окна WPF WPF . Starting a WPF WPF window.
Размещение формы «основной/подробности» с Windows Forms главным и WPF WPF подробными сведениями. Hosting a master/detail form with a Windows Forms master and WPF WPF details.