首页 文章

WPF松散的XAML ResourceDictionary

提问于
浏览
2

我试图在松散的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 回答

  • 5

    由于您在运行时加载它并且它不是在项目中构建的,因此ResourceDictionary不知道您的程序集 . 您必须在程序集中包含程序集才能识别它 .

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

    将'; assembly = yourAssembly'添加到命名空间声明后,您应该能够运行app .

相关问题