如何为TextBox的活动状态赋予样式?

时间:2011-08-02 22:59:29

标签: wpf silverlight xaml windows-phone-7 styles

我知道我可以重写我的TextBoxes的模板来重新定义它的视觉状态,但是没有一种简单的方法可以说:“当它处于活动状态(获得焦点)时使该文本框变黄”?

css中的“input:active”之类的东西。

也许在silverlight中可以将样式设置为控件的可视状态而不是它的一般外观?

由于

2 个答案:

答案 0 :(得分:0)

您应该Style更改VisualState

见这里: http://msdn.microsoft.com/en-us/library/ms752068.aspx

答案 1 :(得分:0)

如果您不想使用VisualStates,只需在TextBox上直接设置FocusVisualStyle即可。

<TextBox FocusVisualStyle={...} ... />

或者您可以使用正常样式的触发器。事实上,上面的文档建议使用触发器可能是一种更好的方法:

  

如果您打算故意使用特定于控件的行为   在主题上不一致,更好的方法是使用触发器   在单个输入状态属性的样式中,例如 IsFocused 或   的 IsKeyboardFocusWithin

触发器是最接近css伪类方法的东西,遗憾的是它并不简洁。