我试图使文本框仅接受特定字符。
我的文本框绑定到以下内容:
private string _CompanyID;
public string CompanyID
{
get { return _CompanyID; }
set
{
_CompanyID = UniversalHelpers.sReturnCorrectColumnName(value);
OnPropertyChanged("CompanyID");
}
}
Run Code Online (Sandbox Code Playgroud)
这是被调用的函数:
public static string sReturnCorrectColumnName(string sInput)
{
if(!string.IsNullOrWhiteSpace(sInput))
return Regex.Replace(sInput, @"[^a-zA-Z]", string.Empty).ToUpper();
else
return sInput;
}
Run Code Online (Sandbox Code Playgroud)
(我只允许使用AZ&AZ,没有其他内容)。
最后,我的TextBox看起来像这样:
<TextBox Text="{Binding ExcelBindings.CompanyID, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />
Run Code Online (Sandbox Code Playgroud)
我不明白的是,即使我的“模式”设置为“双向”,该用户仍然可以写他想要的任何内容。
我究竟做错了什么?