WindowsFormsHost.Child Property

Definition

Gets or sets the child control hosted by the WindowsFormsHost element.

C#
public System.Windows.Forms.Control Child { get; set; }

Property Value

The hosted Windows Forms control.

Exceptions

An attempt was made to assign a top-level form as the hosted control.

Examples

The following code example demonstrates how to use the Child property to add the hosted control to the WindowsFormsHost element. For more information, see Walkthrough: Hosting an ActiveX Control in WPF.

C#
private void Window_Loaded(object sender, RoutedEventArgs e) 
{
    // Create the interop host control.
    System.Windows.Forms.Integration.WindowsFormsHost host =
        new System.Windows.Forms.Integration.WindowsFormsHost();

    // Create the ActiveX control.
    var axWmp = new WmpAxLib.AxWindowsMediaPlayer();

    // Assign the ActiveX control as the host control's child.
    host.Child = axWmp;

    // Add the interop host control to the Grid
    // control's collection of child controls.
    this.grid1.Children.Add(host);

    // Play a .wav file with the ActiveX control.
    axWmp.URL = @"C:\Windows\Media\tada.wav";
}

Remarks

Only one child control can be hosted, but Child can have any number of children.

The child control cannot be a top-level form.

If Child is a Form, the form's ControlBox property is set to false.

XAML Text Usage

< object >

< hostedControl .../>

</ object >

XAML Values

object A WindowsFormsHost element (or a possible subclass).

hostedControl An element that specifies the hosted Windows Forms control. Specifying the custom control in markup usually requires an xmlns mapping, see XAML Namespaces and Namespace Mapping for WPF XAML.

Applies to

Product Versions
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

See also