2011-07-02 14 views
0

は、Nameという名前のプロパティを持つMyClass.csを持っていて、IDataErrorInfoを継承するviewModelを持ち、このViewModelのMyClassのマルチインスタンスを作成して追加したとします。 ObservableCollection < MyClassの>へのすべては、このコレクションは、DataGridののItemsSourceになり、そしてそれの無愛想1は今、DataGridTextColumnプロパティを名前にバインドされて良い以下のXAMLデータバインディング、IDataErrorInfoおよび複合プロパティーの名前付け

<DataGridTextColumn Binding="{Binding Name}" Header="Name" IsReadOnly="True" /> 

すべてのように、このwrks本当に良いことですIDataErrorInfoの列名を次のように指定する必要があります。

string IDataErrorInfo.this[string columnName] 
    { 
     get 
     { 
      string error = String.Empty; 
      switch (columnName) 
      { 
       case "WhatToPutHere": 
        error = validateName(); 
        return error; 
       default: 
        throw new ApplicationException("Wrong Property name being validated"); 
      } 
     } 
    } 

問題は、この「名前」プロパティはここのビューモデルにありません。MyClass.csにはこのIDataErrorInfo列名を指定する必要があります。 MyClass.Nameの両方がうまくいかなかった、何か提案? ありがとうございます

答えて

0

私は、私はそれが動作していないのViewModel

0

プロパティの名前です。この場合はName

+0

上MyClass.csないでそこIDataErorInfoを実装しなければならなかった、私は名前と呼ばれるプロパティを持っていない、それは私が「MyClassの分野でそれを考え出しました私はIDataErrorInfoを実装していますので、このようなプロパティはありません – Musaab

0

ここに何を入れるのかわからない場合は、msgbox(columnname)などのテストコード行を挿入しないでください。その後、アプリケーション(またはその一部)を実行し、ポップアップを表示します。お役に立てれば。

+0

あなたの答えはありがたいですが、何を入れるのか分からないということは何ですか?私はすでに "MyClass.Name "と"名前 "と一緒に動作しない – Musaab

関連する問題