假设我有 MyClass.cs,其中有一个名为 Name 的属性,然后我有我的 viewModel,它继承了 IDataErrorInfo,我在这个 viewModel 中创建了 MyClass 的多个实例并将它们全部添加到 ObservableCollection< MyClass> 中,这个集合将是DataGrid 的 ItemsSource ,其中一个 DataGridTextColumn 绑定到 Name 属性,这在以下 XAML 中非常好
<DataGridTextColumn Binding="{Binding Name}" Header="Name" IsReadOnly="True" />
一切都好,现在我需要为 IDataErrorInfo 提供一个列名,如下所示
string IDataErrorInfo.this[string columnName]
{
get
{
string error = String.Empty;
switch (columnName)
{
case "WhatToPutHere":
error = validateName();
return error;
default:
throw new ApplicationException("Wrong Property name being validated");
}
}
}
问题是,我的 viewModel 中没有这个“名称”属性,它在 MyClass.cs 上,所以我不知道用什么来提供 IDataErrorInfo 列名称,我尝试了 Name 和 MyClass.Name没有成功,有什么建议吗??提前致谢