是否可以在 WinRt 中获得水印密码框?获取带有水印的文本框是没有问题的,但是我不知道可以在其中获取带有水印的密码框的工具包。
我怎样才能为自己实现一个?
是否可以在 WinRt 中获得水印密码框?获取带有水印的文本框是没有问题的,但是我不知道可以在其中获取带有水印的密码框的工具包。
我怎样才能为自己实现一个?
他们还有
您可以自己实现自己的控件:
在 .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>
在.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;
}
希望有帮助
我认为我们不能在密码控件中添加水印。您可以将带有wartermark的TextBox与Password控件放在同一行和同一列中,然后处理两个控件的GotFocus和LostFocus事件以使控件可见或折叠。
目前还没有提供水印密码框的工具包。但是,这可能会有所帮助:-
http://code.msdn.microsoft.com/windowsdesktop/Watermarked-TextBox-and-444ebdec
此外,请查看http://julmar.com/blog/mark/?p=300,了解 WinRT 的 Textbox 和 PasswordBox 实现。