XAML嵌入式WinForms面板不支持直接内容?

时间:2013-01-24 12:40:02

标签: c# wpf winforms tablelayoutpanel windowsformhost

我正在尝试使用以下代码在我的WPF UserControl中放置一个Winforms面板;

<WindowsFormsHost Grid.Row="3">
    <WinForms:Panel>
        <WinForms:TableLayoutPanel x:Name="myLayoutPanel" />
    </WinForms:Panel>
</WindowsFormsHost>

错误:

  

“Panel”类型不支持直接内容。

然后,我将在C#代码中初始化TableLayoutPanel面板。我有什么想法可以解决这个错误吗?

1 个答案:

答案 0 :(得分:0)

Windows.Forms面板容器称为控件。您可以通过执行以下操作来添加它:如果是我,我只需创建一个Winforms UserControl并将其添加到WinFormsHost中。

<WindowsFormsHost Height="100" HorizontalAlignment="Left" Margin="10,108,0,0" Name="windowsFormsHost1" VerticalAlignment="Top" Width="200">
    <WinForms:Panel BackColor="Red" Dock="Fill">
        <WinForms:Panel.Controls>
            <WinForms:TableLayoutPanel x:Name="myLayoutPanel"/>
        </WinForms:Panel.Controls>
    </WinForms:Panel>
</WindowsFormsHost>