c# – XAML WinRT – 自定义样式的工厂模式

我想为XAML实现一种工厂模式.我为WinRT创建了一个应用程序,我在其中定义了两个xaml样式文件.基本上,我想要实现的(如果可能的话)是在应用程序启动时加载两个xaml文件中的一个.
解决方案资源管理器中我有这个:

CustomStyles foder包含样式文件.所以,基于我的App.xaml.cs文件中的枚举器

public enum Style
{
    Style_1,Style_2
}

如果我选择Style_1,我想在运行时加载xaml文件Style_1.xaml else Style_2.xaml.
两个样式文件都具有相同的Button样式,TextBlock样式等定义,具有不同的属性值.
这是一个例子:

Style_1.xaml

<Style x:Key="Attribute_Label" targettype="TextBlock">
    <Setter Property="FontFamily" Value="Segoe UI" />
    <Setter Property="Foreground" Value="#78CAB3" />
    <Setter Property="FontSize" Value="15" />
    <Setter Property="FontWeight" Value="normal" />
</Style>

Style_2.xaml

<Style x:Key="Attribute_Label" targettype="TextBlock">
    <Setter Property="FontFamily" Value="Arial" />
    <Setter Property="Foreground" Value="#606060" />
    <Setter Property="FontSize" Value="30" />
    <Setter Property="FontWeight" Value="normal" />
</Style>

有办法实现我想做的事情吗?先感谢您.

解决方法

我们最终会做这样的事情:

>使用所有CustomStyles在App.xaml中定义ResourcesDictionary
>我们发出一个服务器请求,决定必须加载哪个自定义样式
>使用这段代码Application.Current.Resources [CustomStyleVariable];我们在Style对象中加载整个样式.

我们还没有找到任何更好的解决方案,但似乎有效.

相关文章

原文地址:http://msdn.microsoft.com/en-us/magazine/cc163...
前言 随着近些年微服务的流行,有越来越多的开发者和团队所采...
最近因为比较忙,好久没有写博客了,这篇主要给大家分享一下...
在多核CPU在今天和不久的将来,计算机将拥有更多的内核,Mic...
c语言输入成绩怎么判断等级
字符型数据在内存中的存储形式是什么