清除后,PasswordBox占位符文本不返回

时间:2019-09-01 20:45:16

标签: c# uwp placeholder passwordbox

所以我有一个PasswordBox

<PasswordBox x:Name="pwbPassword" PlaceholderText="Password" 
             Password="{x:Bind Path=local:Password, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>

但是我也有一个清晰的功能,其中包含:

Password = null

我遇到的问题是PlaceholderText没有恢复,相反,该框留为空白。

这是错误还是我缺少东西?

1 个答案:

答案 0 :(得分:0)

  

PasswordBox占位符文本在清除后不会返回

我检查了您的代码,Password是字符串属性,请与字符串字段绑定。

<PasswordBox

    Name="MyPassswordBox"
    Height="44"
    MaxLength="20"
    Password="{x:Bind PassWord, Mode=TwoWay}"
    PlaceholderText="Input your Password"
    />

背后的代码

private string _passWord;

 public event PropertyChangedEventHandler PropertyChanged;
 private void OnPropertyChanged([CallerMemberName] string propertyName = null)
 {
     if (PropertyChanged != null)
     {
         this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     }
 }
 public string PassWord
 {

     get { return _passWord; }
     set
     {
         _passWord = value;
         OnPropertyChanged();

     }
 }

如果您想清除密码,请将PassWord设置为空。

private void Button_Click(object sender, RoutedEventArgs e)
{
    PassWord = null;
}

我已经测试过,PlaceholderText将被恢复。