本文介绍了Winrt中带有水印的PasswordBox的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以在WinRt中获得水印密码箱?带有水印的文本框是没有问题的,但是我不知道可以从中获得带水印的密码框的工具包.

我如何为自己实现一个?

解决方案

看看 WinRT XAML工具包

他们也有

  1. WatermarkTextBox
  2. WatermarkPasswordBox

您可以自己实现自己的控件:

:

 <Border x:Name="brdPassword" Margin="5,0,5,10" BorderThickness="2" BorderBrush="White" CornerRadius="5" Grid.Row="0"
                                Background="White" Height="50" VerticalAlignment="Stretch">
                           <Grid>
                <TextBox x:Name="PasswordWatermark" TextWrapping="Wrap" 
                          Text="Watermark"  Foreground="#FFC4C4C4" IsHitTestVisible="False" 
                          Background="{x:Null}" BorderThickness="0" Padding="0,-10" 
                          FontSize="26.667" />
                 <PasswordBox x:Name="pbPassword" LostFocus="PasswordLostFocus"
                         GotFocus="PasswordGotFocus" Background="{x:Null}" 
                         FontSize="26.667" Margin="0,-12,0,-9" VerticalAlignment="Center"
                         BorderThickness="0" Opacity="0" />
                </Grid>
                </Border>

.cs

    private void PasswordLostFocus(object sender, RoutedEventArgs e)
    {
        CheckPasswordWatermark();
    }

    private void CheckPasswordWatermark()
    {
        var passwordEmpty = string.IsNullOrEmpty(pbPassword.Password);
        PasswordWatermark.Opacity = passwordEmpty ? 100 : 0;
        pbPassword.Opacity = passwordEmpty ? 0 : 100;
    }

    private void PasswordGotFocus(object sender, RoutedEventArgs e)
    {
        PasswordWatermark.Opacity = 0;
        pbPassword.Opacity = 100;
    }

希望有帮助

is it possible to get a watermarks passwordbox in WinRt? It is no problem to get a textbox with a watermark, but I don't know a toolkit where I can get a password box with a watermark.

How can I implement one for myself?

解决方案

Take a look on WinRT XAML Toolkit.

They also have

  1. WatermarkTextBox
  2. WatermarkPasswordBox

By yourself you can implement your own controls:

in .xaml:

 <Border x:Name="brdPassword" Margin="5,0,5,10" BorderThickness="2" BorderBrush="White" CornerRadius="5" Grid.Row="0"
                                Background="White" Height="50" VerticalAlignment="Stretch">
                           <Grid>
                <TextBox x:Name="PasswordWatermark" TextWrapping="Wrap" 
                          Text="Watermark"  Foreground="#FFC4C4C4" IsHitTestVisible="False" 
                          Background="{x:Null}" BorderThickness="0" Padding="0,-10" 
                          FontSize="26.667" />
                 <PasswordBox x:Name="pbPassword" LostFocus="PasswordLostFocus"
                         GotFocus="PasswordGotFocus" Background="{x:Null}" 
                         FontSize="26.667" Margin="0,-12,0,-9" VerticalAlignment="Center"
                         BorderThickness="0" Opacity="0" />
                </Grid>
                </Border>

in .cs

    private void PasswordLostFocus(object sender, RoutedEventArgs e)
    {
        CheckPasswordWatermark();
    }

    private void CheckPasswordWatermark()
    {
        var passwordEmpty = string.IsNullOrEmpty(pbPassword.Password);
        PasswordWatermark.Opacity = passwordEmpty ? 100 : 0;
        pbPassword.Opacity = passwordEmpty ? 0 : 100;
    }

    private void PasswordGotFocus(object sender, RoutedEventArgs e)
    {
        PasswordWatermark.Opacity = 0;
        pbPassword.Opacity = 100;
    }

Hope it's help

这篇关于Winrt中带有水印的PasswordBox的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-23 03:59