Xaml 如何在windows phone 8中设置readonly=true时的文本框背景传输

Xaml 如何在windows phone 8中设置readonly=true时的文本框背景传输,xaml,textbox,windows-phone-8,Xaml,Textbox,Windows Phone 8,当readonly=true时,我想将文本框背景设置为transfernt。我不想要默认颜色。。谁能给我一个解决方案 我正在试这个,但不起作用 <TextBox Name="MyTextBox" Background="Transparent" Text="My Text" IsReadOnly="True" /> 谢谢在文本框上设置IsReadOnly将某些样式应用于文本框,包括其背景。可以通过执行以下操作更改这些样式: 在Visual Studio中的Blend中打开x

当readonly=true时,我想将文本框背景设置为transfernt。我不想要默认颜色。。谁能给我一个解决方案

我正在试这个,但不起作用

<TextBox Name="MyTextBox" Background="Transparent" Text="My Text" IsReadOnly="True"  />


谢谢

在文本框上设置IsReadOnly将某些样式应用于文本框,包括其背景。可以通过执行以下操作更改这些样式:

  • 在Visual Studio中的Blend中打开xaml文件
  • 在Blend中,右键单击文本框,然后单击编辑模板-->编辑副本
  • 在下一个对话框中,勾选Application以在App.xaml中定义新样式,并为样式命名
  • 单击“保存并关闭混合”
您将在App.xaml中看到刚刚创建的新样式。您需要将
只读
视觉状态下的
背景
故事板目标属性的值更改为所需的颜色

要将此新样式应用于任何文本框,只需将
style=“{StaticResource TextBoxStyle1}”
添加到您的文本框,其中
TextBoxStyle1
是您指定给样式的名称

编辑:

这是完整的样式,请将其添加到App.xaml中


崩溃
看得见的
然后在文本框中,您只需指向以下样式:


另一种方法是将文本框ishitestvisible设置为false。用户也不能编辑该字段,您可以像往常一样设置背景

顺便说一下,可以通过编程方式在应用程序范围内设置禁用文本框的不同边框颜色:

(App.Current.Resources["PhoneDisabledBrush"] as SolidColorBrush).Color = Colors.Magenta;
允许大量定制,并且在您想要注册事件时工作良好。请注意,IsReadOnly是,因此您不需要设置此属性