Xamarin表单中的隐藏密码字符不起作用

问题描述 投票:0回答:1

我想部分地将密码字段从点到星号掩盖。我尝试使用转换器,但无法正常工作。以xamarin形式实现这一目标的最佳方法是什么。

     <Entry IsPassword="True"
            Placeholder="password"
            Text="{Binding Password.Value, Mode=TwoWay, Converter={StaticResource 
            MaskedPasswordConverter}}"
            MaxLength="6">

     public class MaskedPasswordConverter : IValueConverter
     {

       private string _value;
       public object Convert(object value, Type targetType, object parameter, CultureInfo 
       culture)
       {
         var str = (value ?? "").ToString();
         _value = str;
         var maskedStr = "";
         if (!string.IsNullOrEmpty(str) && str.Length > 2)
         {
            var domainStr = str.IndexOf('@');
            var lengthOfMask = domainStr - 2;

            maskedStr = str.Substring(0, 2) + new string('*', lengthOfMask) + 
            str.Substring(domainStr);
         }
         return maskedStr;
       }

       public object ConvertBack(object value, Type targetType, object parameter, 
       CultureInfo culture)
       {
         return value;
       }
    }
xamarin xamarin.forms xamarin.android xamarin.ios
1个回答
0
投票

我建议您为此使用行为。您可以找到有关Xamarin表单行为的更多信息here

更多示例here

希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.