zoukankan      html  css  js  c++  java
  • 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里面的内容我们可以自由发挥,你甚至可以添加一个图片加一段文字来描述你的水印信息都可以。

  • 相关阅读:
    远程桌面连接win10问题解决
    为什么n各节点的的二叉链表中有n+1个空链域
    西门子Step7找不到有效授权的解决方法
    表达式树获取函数命名
    逆波兰表达式
    双向循环链表实践
    快速找到未知长度单链表的中间节点
    java的ArrayList(线性表)和LinkedList(双向链表)的深入学习
    23种设计模式中的访问者模式
    23种设计模式中的原型模式
  • 原文地址:https://www.cnblogs.com/rpoplar/p/4557506.html
Copyright © 2011-2022 走看看