Windows phone 7 如何在只读文本框中更改背景/前景颜色?

Windows phone 7 如何在只读文本框中更改背景/前景颜色?,windows-phone-7,Windows Phone 7,在Windows Phone 7中,具有IsReadOnly属性的文本框在运行时(至少在Beta emulator中)设置为true,即使背景色设置为黑色,前景色设置为白色,背景仍为灰色,前景字符为浅灰色。我需要改变这一点,所以它是可读的 那么,有没有一种方法可以推翻这一点 我尝试在textbox加载事件中将其设置为其他内容,但没有成功。显然,将ReadOnly设置为true会设置石头中的前/背景色 如果颜色可以更改,下面是一些更改颜色的代码: SolidColorBrush ForeBrush

在Windows Phone 7中,具有IsReadOnly属性的文本框在运行时(至少在Beta emulator中)设置为true,即使背景色设置为黑色,前景色设置为白色,背景仍为灰色,前景字符为浅灰色。我需要改变这一点,所以它是可读的

那么,有没有一种方法可以推翻这一点

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

如果颜色可以更改,下面是一些更改颜色的代码:

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

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

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

...

您可以在文本框中附加一个空白的
操作开始
事件,这样您就不必将
isreadonly设置为true。这是一个技巧,但可以达到目的。

我能说的最好的一点是,这是正确的,只读样式不能被覆盖——我有过使用Blend的建议,但我甚至不能让Blend做到这一点。在这个事件中,我最终选择了另一条路线,编写了一个自定义控件来完成我想要的任务。