Я пытаюсь разместить собственный элемент управления Windows Forms в WPF. Мой пользовательский элемент управления не имеет открытый конструктор, и он имеет статический Create()
метод, который выглядит примерно так:Создавать элемент управления Windows Forms в WPF без конструктора по умолчанию
public abstract class MyCustomControl : UserControl
{
internal MyCustomControl(...) { }
public static MyCustomControl Create(SomeEnum kind)
{
switch (kind)
{
case SomeEnum.Kind1:
return new MySuperCustomControl(...);
...
}
То, что я хочу сделать, это создать экземпляр этого пользовательского элемента управления в WPF и затем он прошел в WindowsFormsHost
, но я, очевидно, не может добавить абстрактный класс:
<wfi:WindowsFormsHost Width="250" Height="150">
<my:MyCustomControl x:Name="customControl" /> <-- doesn't work
</wfi:WindowsFormsHost>
есть ли способ, которым я мог бы добавить его в «Host» через код?