如何聚焦时,如何轻松更改WPF TextBox的样式?

时间:2013-03-06 10:01:01

标签: wpf templates textbox styles

我的WPF应用中有一个TextBox,背景色为“Blue”。当它获得焦点时,默认情况下背景颜色会变为“白色”。我希望背景颜色在TextBox聚焦时有另一种颜色(例如“DodgerBlue”)。

我在网上找到的只是样式或模板的惊人示例,定义了TextBox的所有可能的VisualStates。

是否无法创建仅针对特定情况的短模板(即TextBox具有焦点时)?

感谢。

1 个答案:

答案 0 :(得分:13)

您可以使用简单的样式触发器:

<TextBox>
        <TextBox.Style>
            <Style TargetType="{x:Type TextBox}">
                <Style.Triggers>
                    <Trigger Property="IsFocused" Value="True">
                        <Setter Property="Background" Value="Tomato" />
                    </Trigger>
                </Style.Triggers>
            </Style>
        </TextBox.Style>
    </TextBox>

那应该......