使TextBox文本主题意识到

时间:2012-06-18 12:38:43

标签: windows-phone-7 windows-phone-7.1

我创建了一个页面。我希望在模拟器的主题变为光时更改文本框的背景。更改主题时字母不可见。是否有任何解决方案?

light theme

dark theme

3 个答案:

答案 0 :(得分:1)

如果在Visual Studio中使用默认的TextBox控件,则它完全可以识别主题。如果您自己设置了颜色,则需要在后面的代码中执行主题感知更改。

有关详细信息,请参阅以下内容: -

http://www.developer.nokia.com/Community/Wiki/ThemeawareWindowsPhoneapplication

答案 1 :(得分:1)

我假设你指的是TextBlock而不是TextBox(因为后者自动拥有样式支持)。

如果没有TextBlock属性,则不应声明Style,例如Style={StaticResource PhoneTextNormalStyle}。可以在MSDN上找到可用样式的完整列表:Theme Resources for Windows Phone

同样相关的是:How to: Apply Theme Resources for Windows Phone

注意:由于Mango的设计方式,在更改主题后支持进入您的应用程序将不会应用新主题。您需要重新启动应用程序才能看到更改的主题。

<强>更新

根据您的屏幕截图,您有两种选择:

  • Reskin(Blend中的“编辑模板”)用于重新定义与各种颜色相关的属性进行硬编码的样式的每个控件
  • 在白色主题中使用替代的浅色背景图像以提高对比度。我blogged about how you can define theme-aware resources(并在其他SO问题上也提到过)。

简单地说,您可以提交主题或强制它保持您想要的方式。

答案 2 :(得分:0)

我们可以将主题设置为我们的应用程序的默认设置。当我们登录我们的应用程序时,手机主题将更改为其合适的主题,当我们注销更改回原始 这是link