我试图在松散的XAML中使用ResourceDictionary并将其加载到运行时以向WPF应用程序提供模板和样式 . 我在本地目录中提供了XAML,并在app启动时使用URI向App.Current.Resources.MergedDictionaries添加了一个新的ResourceDictionary .
当XAML进行解析时,它会在模板上爆炸,其中TargetType是来自正在使用它的程序集的自定义控件 .
具体信息是:
'Failed to create a 'Type' from the text 'controls:CustomType'.'
我已经在顶部的ResourceDictionary中映射了名称空间:
xmlns:controls="clr-namespace:TEST.UI.WPF.Common.Controls"
有文章说明从松散的XAML加载ResourceDictionaries是可能的,但我找到的那些都没有在那些松散的XAML文件中找到自定义类型 .
任何帮助表示赞赏!
1 回答
由于您在运行时加载它并且它不是在项目中构建的,因此ResourceDictionary不知道您的程序集 . 您必须在程序集中包含程序集才能识别它 .
将'; assembly = yourAssembly'添加到命名空间声明后,您应该能够运行app .