0

GalaSoft light Framework (mvvmlight(wpf4)) を使用して MVVM を使用しています。ユーザーからのデータ入力の検証と、ユーザーからの空/不正な入力を示すメッセージボックスの表示に問題があります。INotifyDataErrorInfoこの記事を使用したかったのですが、wpf4 ではサポートされていません。

private string _password;
    private string _userName;

    [Required(AllowEmptyStrings = false, ErrorMessage = "Username is required")]
    public string UserName
    {
        get { return _userName; }
        set
        {
            if (_userName != value)
            {
                //  ValidateProperty("UserName", value);
                _userName = value;
                base.RaisePropertyChanged("UserName");

            }
        }
    }

    [Required(AllowEmptyStrings = false, ErrorMessage = "Password is required")]
    public string Password
    {
        get { return _password; }
        set
        {
            if (_password != value)
            {
                //  ValidateProperty("Password", value);
                _password = value;
                base.RaisePropertyChanged("Password");
            }
        }
    }

mvvm light での入力バリデーションの使い方Messanger(保存ボタンから ViewModel にメッセージを送信して入力値を確認します。)

4

2 に答える 2

1

このようなbutton.clickイベントでメッセージを送信できます..

Messenger.Default.Send<string>("showattraction", "attraction");

最初の文字列はメッセージで、他はそれを検証するためのトークンです..

そして、このメッセージを受け取った場所でこれを行います..コンストラクターで..

Messenger.Default.Register<string>(this, "attraction", GetLineDetails);

GetLineDetails メソッドで作業を行います。

 public void GetLineDetails(string Message)
    {           
        // work here
}
于 2013-07-19T06:59:43.850 に答える