WPF中如何让Textbox显示为一条直线

由于Textbox直接使用是一条直线 设置如下代码 可以让Textbox变为直线输入

XML 复制代码
 <Style TargetType="TextBox"
        x:Key="UsernameTextBoxStyle">
     <Setter Property="Template">
         <Setter.Value>
             <ControlTemplate TargetType="{x:Type TextBox}">
                 <Border x:Name="border"
                         BorderBrush="#DDD"
                         BorderThickness="0,0,0,1"
                         Background="{TemplateBinding Background}"
                         SnapsToDevicePixels="True">
                     <Grid>
                         <TextBlock Text="账号/手机号/邮箱"
                                    Grid.Column="1"
                                    VerticalAlignment="Center"
                                    Foreground="#DDD"
                                    Name="markText"
                                    Visibility="Collapsed"
                                    FontSize="12"
                                    Margin="2,0" />
                         <ScrollViewer x:Name="PART_ContentHost"
                                       Focusable="false"
                                       HorizontalScrollBarVisibility="Hidden"
                                       VerticalScrollBarVisibility="Hidden"
                                       Grid.Column="1"
                                       VerticalAlignment="Center"
                                       MinHeight="20" />
                     </Grid>
                 </Border>
                 <ControlTemplate.Triggers>
                     <Trigger Property="IsMouseOver"
                              Value="true">
                         <Setter Property="BorderBrush"
                                 TargetName="border"
                                 Value="#0b3d90" />
                     </Trigger>
                     <Trigger Property="IsKeyboardFocused"
                              Value="true">
                         <Setter Property="BorderBrush"
                                 TargetName="border"
                                 Value="#0b3d90" />
                     </Trigger>
                     <DataTrigger Binding="{Binding Path=Text,RelativeSource={RelativeSource Mode=Self}}"
                                  Value="">
                         <Setter Property="Visibility"
                                 TargetName="markText"
                                 Value="Visible" />
                     </DataTrigger>
                 </ControlTemplate.Triggers>
             </ControlTemplate>
         </Setter.Value>
     </Setter>
 </Style>

Textbox 采用上面的样式 即为

XML 复制代码
<TextBox Width="90"
         Height="20"
         Text="{Binding PLCIP}"
         Style="{StaticResource UsernameTextBoxStyle}"/>

结果如下:

相关推荐
leoZ23123 分钟前
第 8 篇:与 AI 协作的工作流 + 完整案例
前端·人工智能·神经网络·自然语言处理·性能优化·c#·php
fujisheng6612 小时前
Unity 异步 UI 实战:取消令牌、版本校验与旧句柄隔离
c#·unity3d
额鹅恶饿呃3 小时前
随着CentOS官方停服的时间越来越久,大量仍在使用CentOS7的企业和运维从业者
java·python·算法·c#·ruby
乌药ice3 小时前
c#中一个多线程安全的HashSet
开发语言·c#
lfSeanDragon4 小时前
数据结构-前缀树(Trie)
开发语言·c#
张人玉4 小时前
基于 C# WinForms + .NET 8 + SQLite + TCP Socket 的多连接通讯调试工具——TCP通讯助手(TcpAssistant)
tcp/ip·sqlite·c#·.net
mldong12 小时前
C# 开发者也有自己的轻量工作流引擎了:NuGet 装包,5 分钟跑通一条审批流
后端·c#·.net
samble16 小时前
从零搭建工业控制系统(二十二):线程安全与并发控制
c#·wpf·并发·mvvm·线程安全·工业控制
姜穆澜17 小时前
OneID 从 0 到 1 完整生产案例(三)
大数据·wpf
UIU11417 小时前
scanf与cout的误区:探究其内部的机制
c++·学习·c#·scanf