Свойство статического класса получает значение NULL, когда пользовательская проверка запущена в Silverlight 4 - MVVM - PullRequest
0 голосов
/ 12 марта 2012

1.Я создал тестовый класс, который содержит статический класс и свойство.

namespace QSys.Data.Domain.DataSecurity
{
    public static class TestData
    {
        public static string MyName { get; set; }
    }
}

2.Класс модели клиента и пользовательская проверка

namespace QSys.Data.Domain
{
    [Serializable()]
    public class Customer
    {
        [Key]
        public virtual int Id { get; set; }
        [CustomValidation(typeof(CustomerRequiredRules), "IsCompanyNameEmpty")]
        public virtual string CompanyName { get; set; }
        public virtual string City { get; set; }
    }

    public class CustomerRequiredRules
    {
        public static ValidationResult IsCompanyNameEmpty(string CompanyName, ValidationContext context)
        {
            if (TestData.MyName == "Imdadhusen")
            {
                return new ValidationResult("Company name not allowed!", new string[] { "CompanyName" });
            }
            return ValidationResult.Success;
        }
    }
}

3.Значение настройки статического класса, например

public class AdminHomeViewModel 
{
   public AdminHomeViewModel()
   {
        TestData.MyName = "Imdadhusen";
   }
}

4.Я нажимаю кнопку подтверждения, моя пользовательская проверка запускается, и здесь я не могу получить значение TestData.MyName.он будет отображать Нуль вместо Imdadhusen .

Любой ответ, предложение или комментарий высоко ценится!

...