Лучшие практики для асинхронных проверок WPF? - PullRequest
3 голосов
/ 08 сентября 2011

Есть ли какие-либо рекомендации по выполнению асинхронных проверок MVVM в WPF? Читал о INotifyDataErrorInfo, но, к сожалению, доступен только для Silverlight.

Спасибо.

1 Ответ

1 голос
/ 08 сентября 2011

IDataErrorInfo - механизм проверки данных для WPF.Разве вы не любите последовательность Microsoft?;)

Реализация IDataErrorInfo в вашей модели представления следующим образом:

public class MyViewModel : IDataErrorInfo
{
       public string Error
        {
            get { 
              return  GetErrorStringForThisViewModelInGeneral();
            }
        }

        public string this[string columnName]
        {
            get
            {
                string result = null;

                switch (columnName)
                {
                    case "Quantity":
                        if (Quantity <= 0)
                            result = "Quantity must be greater than 1.";
                    break;
                }
                return result;
            }

}

Внутри проверки свойства (также известной как []) вы можете использовать валидатор в EnterpriseLibrary, пользовательский валидатор, используяАтрибуты или что угодно.Я просто показываю базовую реализацию, чтобы вы начали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...