我在某个面板上有两个控件:文本框和组合框:
<TextBox Text="{Binding ShapeName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" />
<ComboBox SelectedItem="{Binding ActiveStageViewModel, Mode=OneWayToSource, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" />
当我在组合框中选择某些内容时,我需要强制对文本框进行 idataerrorinfo 验证。怎么做?
视图模型中的代码:
string IDataErrorInfo.this[string propertyName]
{
get
{
var error = string.Empty;
if (propertyName == Expression.GetPropertyName(() => ActiveStageViewModel))
{
// TODO: Add functionality to force ShapeName property validation
return error;
}
if (propertyName == Expression.GetPropertyName(() => ShapeName))
{
error = ValidateShapeName();
}
TooltipMessage = error;
return error;
}
}
只需提高NotifyPropertyChanged
您想要验证的属性的事件,或者如果您使用的是 .NET 4.5 或 Silverlight 4,请使用INotifyDataErrorInfo 通知数据错误信息 http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifydataerrorinfo%28v=VS.95%29.aspx.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)