[英]Reading Style XAML from Codebehind
例如,我的資源文件名為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="TitleColor2">#616161</Color>
<Color x:Key="TitleColor3">#404040</Color>
<Color x:Key="TitleColor4">#bfbfbf</Color>
<Color x:Key="TitleColor5">#7d0000</Color>
</ResourceDictionary>
我想閱讀這些元素並將其設置在Custom對象中。
public class ThemeModel
{
public string Key { get; set; }
public string ColorString { get; set; }
}
最好的方法是什么?
你可以做
Color c = (Color)FindResource("TitleColor1");
那么您可以將c強制轉換/轉換為字符串或任何您想要的東西。
有關MSDN上的 FindResource的更多信息
我不知道為什么當您可以將ResourceFile加載到ResourceDictionary對象中時為什么要使用自定義類
FileStream fs = new FileStream("Dictionary1.xaml", FileMode.Open);
ResourceDictionary dictionary = (ResourceDictionary)XamlReader.Load(fs);
擁有字典對象后,您可以使用任意鍵和值。
您可以通過加載資源字典來訪問資源字典元素。之后,可以使用資源字典中的鍵來訪問元素。
var s = System.Windows.Application.LoadComponent(new Uri("URI for ResourceDictionary", UriKind.Relative)) as ResourceDictionary;
var color = s["TitleColor1"] as Color;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.