Winodw Phone主题管理(Winodw Phone Theme Manager)

在Windows Phone上为了要达到省电的效果,所以大部份的手机出厂时预设的Theme大多会采用Dark Theme。

而也应该只有少数的使用者会把Theme改为Light Theme(一来麻烦,二来耗电)。

不过,在Windows Phone里某些内建的App,像是Hotmail和Xbox Live,就无视使用者的设定,会使用白色的背景搭配深色的文字(类似Light Theme的感觉)。

我们自己开发的App也能做到一样的效果吗?? 当然可以~~只要请Designer替我们的App量身打造自己的一套Style(包含每个控制项的Template)就行了!!

那~~~如果没有强力的Designer支援的话怎么办呢?? 没关系,救星来了!!

国外有个好心人,帮Developer们写好了一个超方便的Library,只要一行程式码,就可以让我们不用自己动手去修改控制项的Template,而能「有条件」的在App中决定要使用Dark Theme或是Light Theme,而且无视使用者的手机设定。

 

该作者的原始文章连结在此:http://www.jeff.wilcox.name/2012/01/phonethememanager/

 

而这个传说中的好物,也可以透过NuGet来下载安装喔!!


透过NuGet安装之后,专案中就会自动加入该Library的参考了!!


为了要证明没有造假,所以我在MainPage.xaml中加入一些控制项:


接下来,就是动手写Code的时候啦,请打开App.xaml.cs档,并且依照下面的范例修改它的建构子:

App.xaml.cs
public App()
{
    UnhandledException += Application_UnhandledException;

    InitializeComponent();

    InitializePhoneApplication();

    //加入下面這行
    ThemeManager.ToLightTheme();

    if( System.Diagnostics.Debugger.IsAttached )
    {
        Application.Current.Host.Settings.EnableFrameRateCounter = true;

        PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;
    }

}


最后,当然就是见证奇迹的时刻了!!请用力的按下F5进行Debug~ 当当!!! 这就是传说中的Light Theme啊!! 为了证明没有作弊,再附上一张设定页的截图:

 

不过,为什么前面会说是「有条件」的呢?因为使用这个方式,只能修改一般控制项的外观(也包含系统列和ApplicationBar),但是遇到MessageBox,它就无法度了。


 

有了这个方便的小东西,以后要在App里强制使用Light Theme或是Dark Theme这种小事就不用再劳烦辛苦的Designer们啦!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值