Walkthrough: Assigning WPF Content on Windows Forms at Design Time

This walkthrough show you how to select the Windows Presentation Foundation (WPF) control types you want to display on your form. You can select any WPF control types which are included in your project.

In this walkthrough, you perform the following tasks:

  • Create the project.

  • Create the WPF control types.

  • Select WPF controls.

Note

The dialog boxes and menu commands you see might differ from those described in Help depending on your active settings or edition. To change your settings, choose Import and Export Settings on the Tools menu. For more information, see Working with Settings.

Prerequisites

You need the following components to complete this walkthrough:

  • Visual Studio 2010.

Creating the Project

The first step is to create the Windows Forms project.

Note

When hosting WPF content, only C# and Visual Basic projects are supported.

To create the project

Creating the WPF Control Types

After you add WPF control types to the project, you can host them in different ElementHost controls.

To create WPF control types

  1. Add a new WPF UserControl project to the solution. Use the default name for the control type, UserControl1.xaml. For more information, see Walkthrough: Creating New WPF Content on Windows Forms at Design Time.

  2. In Design view, make sure that UserControl1 is selected. For more information, see How to: Select and Move Elements on the Design Surface.

  3. In the Properties window, set the value of the Width and Height properties to 200.

  4. Add a System.Windows.Controls.TextBox control to the UserControl and set the value of the Text property to Hosted Content.

  5. Add a second WPF UserControl to the project. Use the default name for the control type, UserControl2.xaml.

  6. In the Properties window, set the value of the Width and Height properties to 200.

  7. Add a System.Windows.Controls.TextBox control to the UserControl and set the value of the Text property to Hosted Content 2.

Note   In general, you should host more sophisticated WPF content. The System.Windows.Controls.TextBox control is used here for illustrative purposes only.

  1. Build the project.

Selecting WPF Controls

You can assign different WPF content to an ElementHost control, which is already hosting content.

To select WPF controls

  1. Open Form1 in the Windows Forms Designer.

  2. In the Toolbox, double-click UserControl1 to create an instance of UserControl1 on the form.

    An instance of UserControl1 is hosted in a new ElementHost control named elementHost1.

  3. In the smart tag panel for elementHost1, open the Select Hosted Content drop-down list.

  4. Select UserControl2 from the drop-down list box.

    The elementHost1 control now hosts an instance of the UserControl2 type.

  5. In the Properties window, confirm that the Child property is set to UserControl2.

  6. From the Toolbox, in the WPF Interoperability group, drag an ElementHost control onto the form.

    The default name for the new control is elementHost2.

  7. In the smart tag panel for elementHost2, open the Select Hosted Content drop-down list.

  8. Select UserControl1 from the drop-down list.

  9. The elementHost2 control now hosts an instance of the UserControl1 type.

See Also

Reference

ElementHost

WindowsFormsHost

Other Resources

Migration and Interoperability

Using WPF Controls

WPF Designer