Проверка элемента управления внутри ItemTemplate - PullRequest
0 голосов
/ 20 декабря 2011

У меня такая проблема: я хочу заставить пользователя выбрать значение для элемента управления внутри 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, коллекция ошибок этого элемента управления не реализует его, и элемент управления считает, что существуют некоторые ошибки проверки.Есть идеи как это решить?

Спасибо

...