我将尝试让文本框仅接受特定字符。
我的文本框绑定到以下内容:
private string _CompanyID;
public string CompanyID
{
get { return _CompanyID; }
set
{
_CompanyID = UniversalHelpers.sReturnCorrectColumnName(value);
OnPropertyChanged("CompanyID");
}
}
以下是被调用的函数:
public static string sReturnCorrectColumnName(string sInput)
{
if(!string.IsNullOrWhiteSpace(sInput))
return Regex.Replace(sInput, @"[^a-zA-Z]", string.Empty).ToUpper();
else
return sInput;
}
最终我的文本框是这样的:
(我只允许使用a-z和A-Z字母,不允许使用其他字符。)
<TextBox Text="{Binding ExcelBindings.CompanyID, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />
我不理解的是,即使我的 Mode 被设置为 TwoWay,用户仍然可以自由输入任何内容。
我做错了什么?