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代码:
textstyle
1 <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小时内删除。