Проверка данных WPF для свойства Collection в бизнес-объекте - PullRequest
1 голос
/ 17 февраля 2011

У меня есть бизнес-объект со свойством, определенным следующим образом:

    /// <summary>
    /// Gets the Interest Payments dates Collection.
    /// </summary>
    public BindingList<DateTime> InterestPaymentDatesCollection
    {
        get 
        { 
            return this._interestPaymentDatesCollection; 
        }
    }

Это используется в приложении WPF (я разработчик ASP.Net, который получил этот проект) - в основном мне нужночтобы убедиться, что _interestPaymentDatesCollection имеет установленное значение - в противном случае мне нужно сообщить пользователю, что поле является обязательным и т. д. Будучи новичком в WPF, я не знаю, как это сделать.Я попытался прочитать примеры использования IDataErrorInfo, но не смог собрать воедино, как это сделать для свойства коллекции.

Советы приветствуются!

1 Ответ

1 голос
/ 17 февраля 2011

Ваш класс, содержащий коллекцию, будет реализовывать IDataErrorInfo, и вы перезапишете свойство this[string.columnName] с ошибкой проверки

Существует много способов реализовать проверку, но вот простой пример:

public class TestModel : IDataErrorInfo
{
    public List<DateTime> MyCollection {get; set;}

    public string this[string columnName]
    {
        get { return this.GetValidationError(propertyName); }
    }

    public string GetValidationError(string propertyName)
    {
        switch (propertyName)
        {
            case "MyCollection":
                // Do validation here and return a string if an error is found
                if (MyCollection == null) return "Collection not Initialized";
        }
        return null;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...