WPF松散XAML资源字典

WPF松散XAML资源字典,wpf,xaml,wpf-controls,resourcedictionary,Wpf,Xaml,Wpf Controls,Resourcedictionary,我试图在松散的XAML中使用ResourceDictionary,并将其加载到运行时,以向WPF应用程序提供模板和样式。我在本地目录中有可用的XAML,正在使用URI向App startup中的App.Current.Resources.MergedDictionaries添加新的ResourceDictionary 当XAML进行解析时,它在模板上爆炸,其中TargetType是使用它的程序集的自定义控件 具体信息是: '无法从文本“控件:自定义类型”创建“类型”。 我已经在顶部的Resour

我试图在松散的XAML中使用ResourceDictionary,并将其加载到运行时,以向WPF应用程序提供模板和样式。我在本地目录中有可用的XAML,正在使用URI向App startup中的App.Current.Resources.MergedDictionaries添加新的ResourceDictionary

当XAML进行解析时,它在模板上爆炸,其中TargetType是使用它的程序集的自定义控件

具体信息是:

'无法从文本“控件:自定义类型”创建“类型”。

我已经在顶部的ResourceDictionary中映射了名称空间:

xmlns:controls=“clr命名空间:TEST.UI.WPF.Common.controls”

有一些文章指出,从松散的XAML加载ResourceDictionary是可能的,但我没有在这些松散的XAML文件中找到地址自定义类型


感谢您的帮助

由于您是在运行时加载此程序集,并且它不是在项目中生成的,因此ResourceDictionary不知道您的程序集。您必须将程序集包括在名称空间中才能识别它

xmlns:controls="clr-namespace:TEST.UI.WPF.Common.Controls;assembly=Common"

你应该能够运行你的应用程序后,你添加';assembly=yourAssembly'加载到命名空间声明。

是否在代码中加载ResourceDictionary,如果是,是否在包含该自定义类型并使用XAML模板的程序集中加载?是的,它正在包含该自定义类型并使用XAML模板的程序集中的app start上加载。谢谢,这对我也有帮助。虽然我不明白为什么在我的
main窗口
被设置为样式的情况下需要它。
main窗口
直接位于应用程序项目中,而不是位于其他组件中。尽管如此,指定
assemby=applicationname
还是有效的。