Jon*_*rry 1 .net c# wpf xaml user-controls
在我的WPF项目中,我有一个包含多个WPF用户控件的dll。我希望在运行时能够检查数据库中的参数(已实现),并根据该参数(字符串)将特定的UserControl加载到我的View中。
UserControl实际上是一个Canvas,因此它基本上只是根据数据库条目将正确的Canvas放置在View上。
我不知道我是否清楚,所以请问我是否不明白这个问题。
感谢所有帮助者!
这种在运行时从dll中加载控件或类似内容的概念称为反射,它是在某些情况下执行操作的常用方法。尝试在C#中使用Google Reflection,您会发现很多关于它的教程。
基本上,您将在运行时加载dll。然后,您将寻找控制权。找到它后,您将创建它的实例并使用它。所有这些都会在运行时发生
UserControl myControl = null;
Assembly asm = Assembly.LoadFile(Your dll path);
Type[] tlist = asm.GetTypes();
foreach (Type t in tlist)
{
if(t.Name == "Your class name" )
{
myControl = Activator.CreateInstance(t) as UserControl;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
另请参阅此问题以供参考
归档时间: |
|
查看次数: |
5721 次 |
最近记录: |