2016-07-03 14 views
-1

を結合することによって、データグリッドに新しい行を追加することはできません私はこれを定義したのViewModelクラスで、このために、PlayingMatchへのバインド設定:は、私はこのようなデータグリッドをしました

のでモデルに、私は、この定義をした
public Models.MatchStat MatchStat = new Models.MatchStat(); 

public class MatchStat : ViewModel 
{ 
    private static int _playingMatch = 0; 
    public int PlayingMatch 
    { 
     get { return _playingMatch; } 
     set { SetField(ref _playingMatch, value); } 
    } 
} 

私はこれやった数として新しい値を追加します:

var vm = new ViewModel(); 
vm.MatchStat.PlayingMatch += 1; 

をしかし、何の行は「中コルソ」セルの下に表示されていない、なぜ?

答えて

0
  1. あなたのItemsSourceはMatchStatのコレクションである必要があります。
  2. ウィンドウのDataContextとしてvmを割り当てましたか?
+0

1.私はコレクションを望んでいません。単なる値です。 2.はい – Heisenberg

+0

さて、ItemsSourceはIEnumerableオブジェクトを取得する必要があります。あなたのオブジェクトを配列またはObservableCollectionに入れてください – OrMiz

+0

あなたは簡単な例を表示できますか? – Heisenberg

0

DataGrid.Itemssourceには、IEnumerable(コレクション、配列またはリスト)オブジェクトを割り当てる必要があります。 IEnumerableを実装するObservableCollectionを使用し、コードビハインド(アイテムが追加されたコレクションまたはコレクションから削除されたアイテム)で変更された場合はウィンドウも更新します。 ViewModelクラスの

あなたの宣言は次のようにする必要があります:今

public ObservableCollection<Models.MatchStat> MatchStats = new ObservableCollection<Models.MatchStat>(); 

、あなたはMatchStatオブジェクトを作成し、前に初期化コレクションに追加する必要があります。

Models.MatchStat matchStat1 = new Models.MatchStat(); 
matchStat1.PlayingMatch += 1; 

MatchStats.Add(matchStat1); 
+0

を追加して編集してください。コード専用と「試してください」の回答は、検索可能なコンテンツが含まれていないため、推奨されません。なぜ誰かが「これを試してみる」べき理由を説明しません。私たちはここで知識のためのリソースとなるよう努力しています。 –

関連する問題