Я использую элемент управления TextBox
для ввода пользователем в моем приложении Windows Phone 8.1.
Как скрыть символы, когда пользователь вводит ввод?Скрытие текста элемента управления TextBox без использования пароля PasswordBox
Я не использую PasswordBox
, потому что определено InputScope
"Number"
, что невозможно в PasswordBox
.
При поиске решения в Интернете я нашел единственный способ, настроив TextBox
с помощью UserControl
.
Есть ли более простой способ сделать это без создания UserControl
?
Ниже мой фрагмент кода:
В XAML страницы:
<TextBox Text="{Binding CardNo, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
MaxLength="17"
x:Name="CardNoTextBox"
InputScope="Number"
Margin="70,5"
PlaceholderText="Enter Your Card Number"
TextChanged="CardNoTextBox_TextChanged"
BorderBrush="Gray"
BorderThickness="2"
FontSize="20"/>
В коде позади (xaml.cs):
private void CardNoTextBox_TextChanged(object sender, RoutedEventArgs routedEventArgs)
{
if (IsTextAllowed(CardNoTextBox.Text))
{
if (CardNoTextBox.Text.Length == 5)
{
if (CardNoTextBox.Text[4] != ' ')
{
string text = CardNoTextBox.Text.Insert(4, " ");
CardNoTextBox.Text = text;
CardNoTextBox.Select(CardNoTextBox.Text.Length, 0);
}
}
if (CardNoTextBox.Text.Length == 12)
{
if (CardNoTextBox.Text[11] != ' ')
{
string text = CardNoTextBox.Text.Insert(11, " ");
CardNoTextBox.Text = text;
CardNoTextBox.Select(CardNoTextBox.Text.Length, 0);
}
}
}
else
{
CardNoTextBox.Text = "";
}
}
Вы можете поймать событие PreviewKeyDown и заменить письмо звездой? – 0x4f3759df
Я не нашел событие PreviewKeyDown в элементе управления TextBox. Вместо этого есть событие KeyDown. Я новичок в этой области. Я стараюсь любое возможное решение, но все же без результата. –