我在某个面板上有两个控件:文本框和组合框:
<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;
}
}
TabControl
,在最后一个选项卡中,当用户第一次点击保存时,我会引发NotifyPropertyChanged
,并显示错误。然而,当我返回到其他选项卡,并再次切换回最后一个选项卡时,引发NotifyPropertyChanged
不起作用,没有显示错误模板。有什么见解吗? - JobaDiniz