我正在使用 Silverlight 5 和 C#。我的模型 ( CustomerModel
) 实现INotifyDataErrorInfo
了验证用户输入的接口。其TextBox
Text 属性绑定到模型中的某个属性,该属性在每次击键时都经过验证(我已设置UpdateSourceTrigge=PropertyChanged
),其行为很奇怪 - 当我输入空格时,光标移动到TextBox
. 很烦人。
<TextBox x:Name="txtDebtorName" Grid.Row="2" Grid.Column="1"
Text="{Binding SelectedItem.Name, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnNotifyDataErrors=True, ValidatesOnExceptions=True, NotifyOnValidationError=True}"
IsReadOnly="{Binding IsReadonly}" >
</TextBox>
任何想法是什么导致了这种行为,以及如何解决它?
模型中的属性:
public string Name
{
get { return _Name; }
set
{
const string propertyName = "Name";
ValidateRequiredString(propertyName, value, Utility.GetTranslation("RequiredFieldDebtorName"));
_Name = value;
RaisePropertyChanged(propertyName);
}
}
该ValidateRequiredString()
方法采用PropertyName
、正在设置的值和错误消息。