У меня такая проблема: я хочу заставить пользователя выбрать значение для элемента управления внутри ItemTemplate для каждого элемента, добавленного в мою коллекцию.
<ItemsControl ItemsSource="{Binding MySourceList}" ItemTemplateSelector="{StaticResource mySelector}" />
MySourceList
- это наблюдаемая коллекцияMyObject
объектов.
public class MyObject : INotifyPropertyChanged, IDataErrorInfo
{
...
public string Error
{
get { return ""; }
}
public string this[string columnName]
{
get
{
string result = null;
if (columnName == "MyColumn")
{
if (MyColumn == null) result = "Error empty field";
}
return result;
}
}
}
<SomeControl.SelectedItem>
<Binding Path="MyColumn" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" ValidatesOnDataErrors="True" NotifyOnValidationError="True" />
</SomeControl.SelectedItem>
Так что, если в MySourceList добавлен новый MyObject, появляется ошибка проверки, что нормально.Проблема заключается в том, что когда объект с ошибкой проверки (MyColumn равен null) удаляется из MySourceList, коллекция ошибок этого элемента управления не реализует его, и элемент управления считает, что существуют некоторые ошибки проверки.Есть идеи как это решить?
Спасибо