在wpf的WindowsFormsHost中调用windows窗体控件方法

时间:2013-12-09 07:44:34

标签: c# wpf winforms windowsformshost

我创建了自己的WindowsFormsControl。此控件具有公共方法LoadDocument:

public partial class SignNowFormsControl : UserControl
{
    public SignNowFormsControl()
    {
        InitializeComponent();
    }

    public void LoadDocument(string PathToDocument)
    {
        Console.WriteLine("Dokument " + PathToDocument + " wird geladen.");
    }
}

现在,我将此控件嵌入到wpf的xaml:

<WindowsFormsHost x:Name="SignNowFormsHost" Margin="0,0,0,0">
    <signNowFormsControl:SignNowFormsControl x:Name="SignNowFormsControlItem" x:FieldModifier="public" />
</WindowsFormsHost>

在后面的代码中,我现在尝试调用控件的LoadDocument方法:

public void LoadDocument(string PathToDocument)
{
    this.SignNowFormsControlItem.LoadDocument(PathToDocument);
}

现在,当我构建项目时,我收到以下错误:

  

'SignNowFormsControl.SignNowFormsControl'不包含   'LoadDocument'的定义,没有扩展方法'LoadDocument'   接受第一个类型的参数   'adeon.SignNowFormsControl.SignNowFormsControl'可以找到(是   你错过了使用指令或程序集引用?)

有人可以解释一下这里有什么问题吗?这里不能使用带参数的方法吗?我是否必须将值写入属性?

1 个答案:

答案 0 :(得分:0)

上面的代码确实有效。清理并重建整个解决方案后,不再出现构建错误。