• WPF 文本框添加水印效果


      有的时候我们需要为我们的WPF文本框TextBox控件添加一个显示水印的效果来增强用户体验,比如登陆的时候提示输入用户名,输入密码等情形。如下图所示:

      这个时候我们除了可以修改TextBox控件的控件模板之外,其实还有一种比较简单的方式来处理。就是为我们的TextBox控件添加一个触发器,当它的文本值为空并且当它没有焦点的时候,我们就修改TextBox控件的背景样式,我们将它的背景样式设置为VisualBrush,并且在VisualBrush中添加一个TextBlock控件来显示我们需要提示的水印信息。

      比如我们可以下面的代码来实现:

     1   <TextBox  Margin="50,10" TextWrapping="Wrap" Name="tb1" Visibility="Visible" Grid.Row="1"  Height="30">
     2             <TextBox.Style>
     3                 <Style TargetType="TextBox">
     4                     <Style.Triggers>
     5                         <MultiTrigger>
     6                             <MultiTrigger.Conditions>
     7                                 <Condition Property="IsFocused" Value="False"></Condition>
     8                                 <Condition Property="Text" Value=""></Condition>
     9                             </MultiTrigger.Conditions>
    10                             <Setter Property="Background">
    11                                 <Setter.Value>
    12                                     <VisualBrush AlignmentX="Left" AlignmentY="Top" Stretch="None">
    13                                         <VisualBrush.Visual>
    14                                             <TextBlock Padding="5,2" Background="Transparent" Foreground="Silver"  FontSize="14">请输入用户名</TextBlock>
    15                                         </VisualBrush.Visual>
    16                                     </VisualBrush>
    17                                 </Setter.Value>
    18                             </Setter>
    19                         </MultiTrigger>
    20                     </Style.Triggers>
    21                 </Style>
    22             </TextBox.Style>
    23         </TextBox>

    PS:VisualBrush里面的内容我们可以自由发挥,你甚至可以添加一个图片加一段文字来描述你的水印信息都可以。

  • 相关阅读:
    Python入门篇-面向对象概述
    Python的序列化与反序列化
    Python的csv文件(csv模块)和ini文件(configparser模块)处理
    使用Cloudera Manager添加Sentry服务
    Python的高级文件操作(shutil模块)
    Python的正则表达式re模块
    正则表达式基础知识
    Python语言防坑小技巧
    Python标准库-数字的处理函数(math模块)
    Python数据结构汇总
  • 原文地址:https://www.cnblogs.com/rpoplar/p/4557506.html
Copyright © 2020-2023  润新知