Activator.CreateInstance |使用字符串创建Page.xaml实例

时间:2018-12-11 02:56:07

标签: c# .net wpf xaml

我创建了一些动态按钮,其名称与xaml页面相同。

按钮的示例是按钮x:Name="btnOne",并且我有一个页面的名称为btnOne.xaml

我要代码执行的操作是,每次单击动态创建的按钮(btnOne,btnTwo,tbnthree等)时,它将在我的mainWindow.frmContent中打开一个具有相同名称的wpf页面像(btnOne.xamlbtnTwo.xamlbtnThree.xaml,...)

我在下面有此代码,但它给了我这个错误。

  

无法从程序集MyAssembly,版本= 1.0.0.0,文化=中性,公共密钥令牌=空”中加载类型'btnOne'。”

    public void dynBtn_Click(object sender, EventArgs e)
    {
        Button btn = sender as Button;
        MainWindow mainWindow = new MainWindow();
        mainWindow.frmContent.Content = Activator.CreateInstance("MyAssembly", btn.Name);
    }

1 个答案:

答案 0 :(得分:1)

您需要在typename参数中包含完整的名称空间。