WPF设置TextBox内容为空时的提⽰⽂字的两种⽅式1.⽹上普遍的实现形式为下⾯这⼀种,供参考。
1 <TextBox x:Name="TxtUserName1" Grid.Column="1" FontSize="18" TextChanged="TxtUserName1_TextChanged"
2 Foreground="#FFB4EEFF" Margin="1" BorderThickness="4" VerticalContentAlignment="Center">
3 <TextBox.Resources>
4 <VisualBrush x:Key="HintText" TileMode="None" Opacity="0.5" Stretch="None" AlignmentX="Left">
5 <VisualBrush.Visual>
6 <TextBlock Text="请输⼊⽤户名" Foreground="Gray"/>
7 </VisualBrush.Visual>
8 </VisualBrush>
9 </TextBox.Resources>
10 <TextBox.Style>
11 <Style TargetType="TextBox">
12 <Style.Triggers>
13 <Trigger Property="Text" Value="{x:Null}">
14 <Setter Property="Background" Value="{StaticResource HintText}"/>
15 </Trigger>
16 <Trigger Property="Text" Value="">
17 <Setter Property="Background" Value="{StaticResource HintText}"/>
18 </Trigger>
19 </Style.Triggers>
20 </Style>
21 </TextBox.Style>
22 </TextBox>
在应⽤过程中,如果我给TextBox加⼀个 Background,提⽰⽂字就会不正常显⽰。
2.于是我⽤了第⼆个办法实现,在TextBox的位置新增⼀个TextBlock,TextBlock的内容为提⽰信息。
在TextBox的TextChanged事件中实现隐藏
Xaml代码:
textstyle1 <Grid Grid.Row="3">
2 <TextBox x:Name="TxtUserName2" Grid.Column="1" FontSize="18" TextChanged="TxtUserName2_TextChanged" Background="AliceBlue"
3 Foreground="#FFB4EEFF" Margin="1" BorderThickness="4" VerticalContentAlignment="Center">
4 </TextBox>
5 <TextBlock Name="txtTip" Text="请输⼊⽤户名" Padding="10"></TextBlock>
6 </Grid>
cs后台代码:
1private void TxtUserName2_TextChanged(object sender, TextChangedEventArgs e)
2 {
3 txtTip.Visibility = string.IsNullOrEmpty(TxtUserName2.Text) ? Visibility.Visible : Visibility.Hidden;
4 }
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论