Встроенная в XAML панель WinForms не поддерживает прямой контент?
Я пытаюсь разместить панель Winforms в моем WPF UserControl со следующим кодом;
<WindowsFormsHost Grid.Row="3">
<WinForms:Panel>
<WinForms:TableLayoutPanel x:Name="myLayoutPanel" />
</WinForms:Panel>
</WindowsFormsHost>
Ошибка:
Тип "Панель" не поддерживает прямой контент.
Я буду тогда инициализировать TableLayoutPanel
панель в коде C#. Любые идеи, как я могу обойти эту ошибку?
1 ответ
Решение
Контейнер панели Windows.Forms называется Controls. Вы можете добавить его, выполнив что-то вроде этого: Если бы это был я, я просто создал бы пользовательский элемент управления Winforms и вместо этого добавил бы его в 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>