WPF表修改 - 像passwordbox这样的文本块

时间:2016-11-18 15:44:18

标签: wpf passwords textblock gridviewcolumn

您好我需要创建我的表的一部分就像密码盒(我的意思是,文本必须隐藏使用例如*)

这是我表格的一部分

List

当我要添加例如" cat"时,我会得到明确的猫但我想得到***,然后如果我将参考这部分表我想得到这个&#39 ;猫'

请求帮助

1 个答案:

答案 0 :(得分:0)

为什么不为每一行显示固定数量的星星?这样您就不会泄露密码长度等信息。如果您从未显示过密码的长度,那么真的重要吗?

<TextBlock HorizontalAlignment="Center" Text="****"  Foreground="Black"></TextBlock>

如果您需要匹配长度,请编写类似的转换器:

public class StarsConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        if (value == null) return null;
        var paswordLength = (value as string).Length;
        var symbol = (parameter ?? "*").ToString().First();
        return new string(symbol, paswordLength);
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

在XAML中,您可以使用符号来提供附加参数,该符号用于显示密码,但默认为*

 <TextBlock Text="{Binding pass,Converter={StaticResource ResourceKey=passConverter},ConverterParameter=^}" />