You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改TextBoxHelper浮动水印的聚焦颜色?

问题描述

我的TextBox基础设置如下:

<TextBox x:Name="NomeRapporto"
         Text="{Binding NomeRapporto}"
         controls:TextBoxHelper.Watermark="Nome Rapporto"
         controls:TextBoxHelper.UseFloatingWatermark="True" />

空状态下渲染效果:
空状态水印效果

手动输入文本后(控件聚焦)的效果:
聚焦状态水印效果

需要将控件聚焦时的水印颜色修改为红色,请问该如何操作?

解决方案

方式一:全局覆盖主题资源

MaterialDesign的浮动水印聚焦时的颜色默认绑定主题资源FloatingTextFieldTextBoxForegroundFocused,在App.xaml或当前窗口的Resources中重新定义该资源即可全局生效:

<Window.Resources>
    <SolidColorBrush x:Key="FloatingTextFieldTextBoxForegroundFocused" Color="Red" />
</Window.Resources>

方式二:单个控件自定义样式

若仅需修改目标TextBox的水印颜色,可基于MaterialDesign默认样式自定义触发器:

<TextBox x:Name="NomeRapporto"
         Text="{Binding NomeRapporto}"
         controls:TextBoxHelper.Watermark="Nome Rapporto"
         controls:TextBoxHelper.UseFloatingWatermark="True">
    <TextBox.Style>
        <Style TargetType="TextBox" BasedOn="{StaticResource MaterialDesignFloatingHintTextBox}">
            <Style.Triggers>
                <Trigger Property="IsKeyboardFocused" Value="True">
                    <Setter Property="controls:TextBoxHelper.WatermarkForeground" Value="Red" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </TextBox.Style>
</TextBox>

内容的提问来源于stack exchange,提问作者markzzz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 11:52:42