我正在尝试在WPF中托管自定义Windows窗体控件。我的自定义控件没有公共构造函数,它有一个静态Create()
方法,如下所示:
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>
有没有办法可以通过代码将它添加到“主机”中?
答案 0 :(得分:1)
找到它,它是WindowsFormsHost.Child
属性。
答案 1 :(得分:1)
如果没有XAML中的公共构造函数,则无法托管控件。 你可以尝试两种方式: