更改TextBox控件的前景色
本文关键字:前景色 控件 TextBox 更改 | 更新日期: 2023-09-27 18:19:48
也许这个问题有点傻,但我不知道如何解决以下(可能是琐碎的)问题:
我只想更改Silverlight 4中TextBox控件的前景色,使其在"正常"状态下为黑色,在"禁用"状态下应为红色。
到目前为止,我做了以下工作:我正在编辑控件ControlTemplate,以便在Blend 4中使用visual State Manager来操作TextBox的视觉状态,但由于TextBox中的文本是作为其contentControl实现的,我找不到任何前台属性来更改颜色或分别链接到特定的视觉状态。
同样,我只是想为TextBox的不同视觉状态设置不同的前景色。
有人能帮我吗?提前谢谢!
您可以做几件事,您可以删除contentpresent并将其替换为文本块,然后在选择textblock的情况下,转到您的Common Properties->Text并单击它旁边的小方块,然后选择Template Binding->Content,这只会将内容的模板绑定添加到控件中。
或者,一个简单快捷的方法就是将其封装在用户控件中,然后像一样将您的更改应用于它
<UserControl>
<ContentPresenter....
</UserControl>
然后只需选择用户控制对象,就可以设置前台等。
在禁用状态下,您可以设置内容控件的Foreground属性(如果模板不包含内容控件,您可以将其包裹在内容呈现器周围):
<Storyboard>
<ObjectAnimationUsingKeyFrames BeginTime="0"
Storyboard.TargetName="contentControl"
Storyboard.TargetProperty="Foreground">
<DiscreteObjectKeyFrame Value="Red" KeyTime="0" />
</ObjectAnimationUsingKeyFrames>
</Storyboard>