我正在创建一个用户控件来包含用户提供的信用卡信息。该控件收集帐号,到期日和CCV。
我希望此控件的唯一输出是表示加密字符串的单个属性。
我已经有了这个属性,并且我已经将我的控件设置为私有,并以不使用公共属性的方式设置绑定。一切正常。我只想以某种方式禁用可视树搜索和FindName
方法,以便能够从控件中删除信用卡信息。
我知道这似乎过于热心,但是有没有办法做到这一点?
答案 0 :(得分:0)
您可以尝试不将信息存储在控件中。如何从BackgroundWorker或VisualTree看不到的其他东西处理它?然后仅使用加密字符串与控件进行通信。
答案 1 :(得分:0)
您是否看过如何在使用Func的模板化SL BussinessApplication中完成它?
public string Password
{
get
{
return (this.PasswordAccessor == null) ? string.Empty : this.PasswordAccessor();
}
set
{
this.ValidateProperty("Password", value);
// Do not store the password in a private field as it should not be stored in memory in plain-text.
// Instead, the supplied PasswordAccessor serves as the backing store for the value.
this.RaisePropertyChanged("Password");
}
}
/// <summary>
/// Gets or sets a function that returns the password.
/// </summary>
internal Func<string> PasswordAccessor { get; set; }