C# 从Codebehind读取样式XAML
例如,我有一个资源文件名theme.xamlC# 从Codebehind读取样式XAML,c#,wpf,xaml,C#,Wpf,Xaml,例如,我有一个资源文件名theme.xaml <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Color x:Key="TitleColor1">#e0e0e0</Color> <Color x:Key=
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Color x:Key="TitleColor1">#e0e0e0</Color>
<Color x:Key="TitleColor2">#616161</Color>
<Color x:Key="TitleColor3">#404040</Color>
<Color x:Key="TitleColor4">#bfbfbf</Color>
<Color x:Key="TitleColor5">#7d0000</Color>
</ResourceDictionary>
做这件事的最佳方法是什么?你可以这样做
Color c = (Color)FindResource("TitleColor1");
然后,您可以将c转换为字符串或任何您想要的内容
有关FindResource的更多信息,请访问我不知道当您可以像这样将ResourceFile加载到ResourceDictionary对象中时,为什么需要自定义类
FileStream fs = new FileStream("Dictionary1.xaml", FileMode.Open);
ResourceDictionary dictionary = (ResourceDictionary)XamlReader.Load(fs);
拥有dictionary对象后,您可以以任何方式使用键和值。您可以通过加载资源字典来访问资源字典元素。之后,您可以使用资源字典中的键访问元素
var s = System.Windows.Application.LoadComponent(new Uri("URI for ResourceDictionary", UriKind.Relative)) as ResourceDictionary;
var color = s["TitleColor1"] as Color;
我不知道给定的任何带有颜色集的xaml文件的键的名称我想将其读入对象抱歉,我以为您想读入TitleColor1并将值放入“Key”字符串对象中。你想做什么?你能详细说明一下我想要解析Xaml文件的内容并创建一个模型列表吗?你是用什么方法实现的?也许这已经是最好的了。您确实尝试过一些东西,对吗?我想用正则表达式来解析文本并将它们插入到对象中,但我希望有更好的方法来实现这一点。XamlReader不包含加载定义,我想是的。使用System.Windows.Markup.XamlReader
var s = System.Windows.Application.LoadComponent(new Uri("URI for ResourceDictionary", UriKind.Relative)) as ResourceDictionary;
var color = s["TitleColor1"] as Color;