加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

wpf – 在不使用PasswordBox的情况下隐藏TextBox控件的文本

发布时间:2020-12-14 05:34:08 所属栏目:Windows 来源:网络整理
导读:我在 Windows Phone 8.1应用程序中使用TextBox控件进行用户输入. 如何在用户输入时隐藏字符? 我没有使用PasswordBox,因为定义的InputScope是“Number”,这在PasswordBox中是不可能的. 在互联网上搜索解决方案时,我找到了在UserControl的帮助下自定义TextBox
我在 Windows Phone 8.1应用程序中使用TextBox控件进行用户输入.
如何在用户输入时隐藏字符?

我没有使用PasswordBox,因为定义的InputScope是“Number”,这在PasswordBox中是不可能的.

在互联网上搜索解决方案时,我找到了在UserControl的帮助下自定义TextBox的唯一方法.

有没有更简单的方法来创建任何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,0);
            }
        }
    }
    else
    {
        CardNoTextBox.Text = "";
    }
}

解决方法

花了好几个小时找到一个更简单的方法,我得到了一个惊人的解希望这也有助于其他人.
我只是将以下值添加到我的TextBox控件的FontFamily属性中:

FontFamily="ms-appx:///Assets/PassDot.ttf#PassDot"

并给出了字体35的大小,

FontSize="35"

这适用于我的项目.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读