wpf 输入框 在输入时去除水印

wpf ScrollViewer 在输入数据时去除水印

在WPF(Windows Presentation Foundation)中,ScrollViewer控件通常用于显示滚动内容。如果你想在ScrollViewer中使用数据输入(例如文本输入),并且希望在输入时去除水印(通常指的是文本框中的提示文字),你可以通过以下几种方式实现:

使用样式和触发器(推荐)

最简单且最常见的方法是使用WPF的样式和触发器来控制水印的显示和隐藏。这种方法不需要修改任何属性值,而是通过样式和触发器来动态地显示或隐藏水印。

复制代码
<ScrollViewer>
    <TextBox Style="{StaticResource WatermarkStyle}" />
</ScrollViewer>

在资源字典中定义WatermarkStyle

复制代码
<Style x:Key="WatermarkStyle" TargetType="{x:Type TextBox}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type TextBox}">
                <Grid>
                    <TextBox x:Name="textSource" 
                             Text="{Binding Text, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
                             Background="Transparent" 
                             Padding="5,2" 
                             VerticalContentAlignment="Center"/>
                    <Label Visibility="Collapsed" x:Name="watermark" IsHitTestVisible="False" Padding="5,0">请输入内容</Label>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
    <Style.Triggers>
        <Trigger Property="Text" Value="">
            <Setter TargetName="watermark" Property="Visibility" Value="Visible"/>
        </Trigger>
        <Trigger Property="IsKeyboardFocused" Value="True">
            <Setter TargetName="watermark" Property="Visibility" Value="Collapsed"/>
        </Trigger>
    </Style.Triggers>
</Style>

在这个方法中,当文本框为空且未获得焦点时,水印可见;当文本框获得焦点或有文本时,水印隐藏。这样,你就可以在用户输入时自动去除水印了。

相关推荐
枫叶林FYL5 小时前
项目九:异步高性能爬虫与数据采集中枢 —— 基于 Crawl<sub>4</sub>AI 与 Playwright 的现代化数据采集平台 项目总览
爬虫·python·深度学习·wpf
她说彩礼65万10 小时前
WPF 多值转换器
wpf
无心水13 小时前
【分布式利器:金融级】金融级分布式架构开源框架全景解读
人工智能·分布式·金融·架构·开源·wpf·金融级框架
她说彩礼65万14 小时前
WPF 转换器
wpf
WPF工业上位机1 天前
匠心研智造,同心赴新程-WPF硬件通讯之串口&Socket
wpf
爱炸薯条的小朋友2 天前
C#由窗体原子表溢出造成的软件闪退,根本原因补充
开发语言·c#·wpf
晚风一隅2 天前
阿里云盘古存储系统:EB级分布式存储的架构革命与技术突破
wpf
步步为营DotNet2 天前
深挖.NET 11:.NET Aspire 在云原生应用状态管理的创新与实践
云原生·.net·wpf
He BianGu3 天前
【项目】WPF VisionMaster 4.0 项目介绍和开发文档
c#·wpf·流程图·开发文档·机器视觉·visionmaster
He BianGu3 天前
【笔记】在WPF中PriorityBinding的详细介绍
笔记·wpf