加载generic.xaml以合并资源字典时,XamlReader抛出

Ber*_* IT 3 wpf generic.xaml xamlparseexception xamlreader

试图在代码中加载generic.xaml但它会抛出XamlParseException.代码如下:

Uri uri = new Uri("Themes/Generic.xaml", UriKind.Relative);
StreamResourceInfo info = Application.GetResourceStream(uri);
System.Windows.Markup.XamlReader reader = new System.Windows.Markup.XamlReader();

ResourceDictionary resdict = (ResourceDictionary)reader.LoadAsync(info.Stream);

this.Resources.MergedDictionaries.Add(resdict);
Run Code Online (Sandbox Code Playgroud)

我们的想法是在基页中合并资源字典.然后派生页面可以使用{StaticResource DarkBrush}例如来自其基类的样式,颜色,画笔等.

但上面的代码抛出:

'',十六进制值0x0C,是无效字符.第1行,第1位.

generic.xaml文件是以标准方式在VS2010中创建的.试图将Build Action设置为Resource,但这也不起作用......

我从Microsoft 获得了代码示例.它用于加载页面.任何帮助将不胜感激.

WPF*_*-it 5

        Uri uri = new Uri("Themes/Generic.xaml", UriKind.RelativeOrAbsolute);
        var resDict = Application.LoadComponent(uri) as ResourceDictionary;
        this.Resources.MergedDictionaries.Add(resDict);
Run Code Online (Sandbox Code Playgroud)

  • 这里有什么问题,为什么会显示错误? (2认同)