我需要按照这个问题中的描述,将代码后置类添加到资源字典中。(我知道这不是一个好的实践方法,但根据链接问题的评论,它应该能够工作)。我使用x:Class属性引用代码:
XAML(单独的资源字典文件):
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="MyNamespace.MyStandardResources">
...
</ResourceDictionary>
代码:
using System.Windows;
namespace MyNamespace
{
public partial class MyStandardResources : ResourceDictionary
{
public MyStandardResources()
{
InitializeComponent();
}
//...
}
}
这会导致运行时解析器异常:
解析器内部错误:对象编写器 'xClassNotDerivedFromElement'。[行:xxx 位置:xxx],位于 System.Windows.Application.LoadComponent。
这些资源包含在 App.xaml 中,使用 ResourceDictionary.MergedDictionaries 标签。