【发布时间】:2010-09-15 19:33:39
【问题描述】:
当控件被禁用或只读时,如何将默认样式 Xaml 中的 TextBox 控件的背景颜色更改为不同的颜色?
【问题讨论】:
标签: c# silverlight xaml
当控件被禁用或只读时,如何将默认样式 Xaml 中的 TextBox 控件的背景颜色更改为不同的颜色?
【问题讨论】:
标签: c# silverlight xaml
您可以使用以下样式的触发器来实现此目的:
<TextBox>
<TextBox.Style>
<Style TargetType="TextBox">
<Style.Triggers>
<Trigger Property="IsReadOnly" Value="True">
<Setter Property="Background" Value="Green" />
</Trigger>
<Trigger Property="IsEnabled" Value="True">
<Setter Property="Background" Value="Red" />
</Trigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
【讨论】:
我目前不在 PC 上(只是移动设备),但我认为您可以编辑控件的模板,并且您的某些控件有一些视觉状态,用于定义禁用状态、鼠标悬停等内容...您应该能够重新定义哪个?
【讨论】:
我完成此操作的方法是为控件创建一个Converter。
当控件绑定到一个对象时,它会检测控件是否来自它所绑定的对象的Enabled。在此基础上,它会相应地设置Textbox 的背景颜色。
【讨论】: