尝试在代码中加载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);
想法是在基页中合并资源字典。然后,派生页面可以使用{StaticResource DarkBrush}
作为基类的样式,颜色,画笔等。
但上面的代码抛出:
'',十六进制值0x0C,是无效字符。第1行,第1位。
generic.xaml文件是以标准方式在VS2010中创建的。试图将Build Action设置为Resource,但这也不起作用......
我从微软获得了code sample。它用于加载页面。任何帮助将不胜感激。
答案 0 :(得分:5)
Uri uri = new Uri("Themes/Generic.xaml", UriKind.RelativeOrAbsolute);
var resDict = Application.LoadComponent(uri) as ResourceDictionary;
this.Resources.MergedDictionaries.Add(resDict);