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}"/>

结果如下:

相关推荐
GeekyGuru16 分钟前
C#:游戏开发的高效利器
开发语言·c#
5008424 分钟前
鸿蒙 Flutter 蓝牙与 IoT 开发进阶:BLE 设备连接、数据交互与设备管理
flutter·华为·electron·wpf·开源鸿蒙
关关长语27 分钟前
基于NCrontab实现Covarel扩展秒级任务调度
c#·.net
Macbethad1 小时前
工业设备系统管理程序技术方案
大数据·wpf
足球中国1 小时前
什么情况下会发生跨域
c#·dataexcel·cfucion
yue0082 小时前
C# 实现电脑锁屏功能
开发语言·c#·电脑·电脑锁屏
2501_930707782 小时前
如何在 C# 中分离饼图的某个区域
开发语言·c#
c#上位机2 小时前
halcon图像膨胀—dilation1
图像处理·算法·c#·halcon
缺点内向2 小时前
如何在C#中添加Excel文档属性?
开发语言·数据库·c#·.net·excel
车载测试工程师3 小时前
CAPL学习-ETH功能函数-方法类2
网络·网络协议·学习·c#·以太网·capl·canoe