gpt4 book ai didi

c# - 如何动态加载 XAML 以获取控件信息

转载 作者:太空宇宙 更新时间:2023-11-03 14:06:25 24 4
gpt4 key购买 nike

我正在尝试加载一个 Silverlight 项目来读取每个 XAML 文件,方法是使用反射创建一个实例,Activator.CreateInstance,每个 XAML > 用于读取其控件的类。

C#代码:

string strPath = "SilverlightUI.dll";
StreamResourceInfo sri = Application.GetResourceStream(new Uri(strPath, UriKind.RelativeOrAbsolute));
AssemblyPart assemblyPart = new AssemblyPart();
Assembly assembly = assemblyPart.Load(sri.Stream);
Type[] typeArray = assembly.GetExportedTypes();

foreach (Type type in typeArray)
{
object ctl = (object)Activator.CreateInstance(type);
// Following exception is occurring while creating an instance using above line of code
// Exception "Cannot find a Resource with the Name/Key ComboBoxStyle"
}

也许反射无法识别 Silverlight 样式 ComboBoxStyle。我怎样才能创建一个实例来动态读取 XAML 文件中的每个控件?

最佳答案

在与 Google 斗争之后,我设法找到了解决我的问题所需的方法。

  1. 复制 Silverlight 项目中的所有样式资源(用于加载)。
  2. 将它们粘贴到Master/Caller Silverlight项目或应用程序的App.xaml中Silverlight 控件信息

按照这些步骤操作将消除XAML 解析异常缺少样式

Cannot find a Resource with the Name/Key ComboBoxStyle

引用:XAML Parser cannot find resource within dynamically loaded XAP when creating form instance

关于c# - 如何动态加载 XAML 以获取控件信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9188783/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com