【问题标题】:How to change background/foreground colors in ReadOnly textbox?如何更改 ReadOnly 文本框中的背景/前景色?
【发布时间】:2012-09-17 22:20:07
【问题描述】:

在 Windows Phone 7 中,具有 IsReadOnly 属性的文本框设置为 true,当它运行时(至少在 Beta 版模拟器中),即使背景颜色设置为黑色,前景颜色设置为白色,背景仍然是灰色的前景字符为浅灰色。我需要更改它以使其可读!

那么有没有办法覆盖它?

我尝试在文本框加载事件中将其设置为其他内容,但没有成功。显然将 ReadOnly 设置为 true 会在石头中设置前/背景颜色。

如果可以更改,这里将是一些更改颜色的代码:

SolidColorBrush ForeBrush = new SolidColorBrush();
SolidColorBrush BackBrush = new SolidColorBrush();
ForeBrush.Color = Colors.White;
BackBrush.Color = Colors.Black;
txtFrom.Foreground = ForeBrush;
txtFrom.Background = BackBrush;

【问题讨论】:

    标签: windows-phone-7


    【解决方案1】:

    我认为文本框模板包含只读文本框的视觉样式。因此,您不能设置其他样式。 但是您也可以尝试将文本框的模板更改为任何其他 silverlight 控件:

    <TextBox ..>
      <TextBox.Template>
        ...
      </TextBox.Template>
    </TextBox>
    

    【讨论】:

    • 我能说的最好的就是这是正确的,ReadOnly 样式不能被覆盖——我有建议使用 Blend 来做,但我什至无法让 Blend 做它。结果,我最终选择了另一条路线并编写了一个自定义控件来做我想做的事情。
    【解决方案2】:

    您可以在文本框中附加一个空白的ManipulationStarted 事件,那么您不必将isreadonly 设置为true。这是一个 hack,但可以达到目的。

    【讨论】:

      猜你喜欢
      • 2011-04-27
      • 2013-01-19
      • 1970-01-01
      • 2013-05-20
      • 1970-01-01
      • 2021-12-16
      • 2017-05-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多