Я сейчас реализовал следующее решение. Это не чистый XAML, но я думаю, что все в порядке.
В XAML я поставил PasswordBox
, затем TextBlock
с текстом «Введите ваш пароль», который перекрывает PasswordBox. В обработчике событий PasswordBox TextBlock станет невидимым.
<PasswordBox x:Name="PasswordBox"
PasswordChanged="PasswordBox_PasswordChanged" />
<TextBlock x:Name="TextBlockEnterPassword" FontStyle="Italic"
Text="Enter your password here" IsHitTestVisible="False"/>
(Соедините все вышеперечисленное в одну Grid
ячейку.)
В приведенном ниже коде добавьте обработчик событий:
private void PasswordBox_PasswordChanged( object sender, RoutedEventArgs e )
{
// If the user enters something in the passwordbox, hide
// the "Enter password" text; if the user erases the field,
// show the text.
if ( PasswordBox.Password.Length == 0 )
TextBlockEnterPassword.Visibility = Visibility.Visible;
else
TextBlockEnterPassword.Visibility = Visibility.Collapsed;
}