none
使用VS2012编译,win8系统。请问如何在程序中添加夜间模式? RRS feed

  • 问题

  • 如题,我使用windows8,VS2012进行编译(C#)。基于模板Grid APP进行编译,请问如何在程序中添加夜间模式?如何用代码实现?具体方法是什么?可否提供详细的代码示例?谢谢!
    2014年2月27日 13:26

答案

  • 具体怎么做?这个给不出详细代码,因为在我理解而言就是改变UI的颜色。

    你可以设置一个全局变量,当在Setting Charm中改变这个全局变量的时候,页面中所有控件颜色发生变化。


    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support

    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    2014年3月4日 8:25
    版主
  • Hi Qian,

    我这里做了一个非常非常简单的Demo给你,我记得你应该用的是VS2012写的代码吧?

    我的例子是基于Code Center改写,你可以通过如下步骤重现:

    1,下载 http://1drv.ms/1dHpiL1 并打开程序,运行。

    2,点击第三个Scenario,然后在右边点击“Add Setting Commands”按钮。

    3,打开Setting Charm,可以看到里面一个开关,点击开关可以看到主页面的颜色更变。

    --James


    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support

    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    2014年3月10日 9:30
    版主

全部回复

  • 夜间模式?你指的是改变屏幕亮度,改变背景颜色之类的夜间保护视力的方式么?Windows Store App中没有现成的东西可以让你实现这个功能,你可以参考如下的内容:

    如果是改变屏幕亮度的话,应该是实现不了的,因为Windows Store App没有权限去设置系统的参数,不过你可以呼出Setting Charm让用户自己设置。

    如果你想改变App背景以及字体的颜色,应该很容易把。比如说Gird 的Background属性设置为一个比较适合夜间阅读的颜色。

    不知道这些是否是你需要的

    --James


    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support

    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    2014年2月28日 2:28
    版主
  • 你好,請說清楚你所指的"夜間模式"是什麼意思?需求是什麼?


    大家一齊探討、學習和研究,謝謝!
    MCSD, MCAD, MCSE+I, MCDBA, MCDST, MCSA, MCTS, MCITP, MCPD,
    MCT, Microsoft Community Star(TW & HK),
    Microsoft MVP for VB.NET since 2003
    My MSMVP Blog

    2014年2月28日 4:37
  • 您好!抱歉我没有描述清楚---我的"夜间模式"是指,在程序下部添加一个app bar,设置一个按钮,当激活它时,app的背景会变成黑色,同时字体会变成白色,以此达到护眼的目的。当我们不需要此模式时,可否同样点击此键(此时这个按键变为日间模式),恢复应用程序原本的背景,字体恢复到原来的颜色?具体怎么做?可否给出详细代码?谢谢!
    2014年2月28日 16:20
  • 具体怎么做?这个给不出详细代码,因为在我理解而言就是改变UI的颜色。

    你可以设置一个全局变量,当在Setting Charm中改变这个全局变量的时候,页面中所有控件颜色发生变化。


    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support

    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    2014年3月4日 8:25
    版主
  • 好,在settings charm中设计一个开关,这个全局变量怎么设置,当开始时,使得背景变为黑色,详细内容中的字体变为白色(主标题,副标题不需要改变),关闭时又恢复默认设置?您能否给出一个DEMO或者代码示例呢?非常感谢您!
    2014年3月4日 14:01
  • 好的,回头我做一个简单的Demo给你。

    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support

    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    2014年3月5日 1:23
    版主
  • Thanks !
    2014年3月7日 15:19
  • Hi Qian,

    我这里做了一个非常非常简单的Demo给你,我记得你应该用的是VS2012写的代码吧?

    我的例子是基于Code Center改写,你可以通过如下步骤重现:

    1,下载 http://1drv.ms/1dHpiL1 并打开程序,运行。

    2,点击第三个Scenario,然后在右边点击“Add Setting Commands”按钮。

    3,打开Setting Charm,可以看到里面一个开关,点击开关可以看到主页面的颜色更变。

    --James


    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support

    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    2014年3月10日 9:30
    版主
  • 备注:

    本例子只修改了Grid的background,你可以修改包括Title,应该对你来说没有难度吧。

    你可以把设置存在LocalSetting中,同时在UI load的时候使用一个判断语句来确定当前使用的配色。


    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support

    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    2014年3月10日 9:33
    版主