C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

WPF DataGrid セルの編集がおかしい


(過去ログ 110 を表示中)

[トピック内 1 記事 (1 - 1 表示)]  << 0 >>

■65618 / inTopicNo.1)  WPF DataGrid セルの編集がおかしい
  
□投稿者/ CC (1回)-(2013/03/12(Tue) 13:43:34)

分類:[C#] 

2013/03/12(Tue) 13:56:24 編集(投稿者)
2013/03/12(Tue) 13:56:06 編集(投稿者)

言語: VisualStudio2010 C# WPF

DataGridのセルの編集で困っています。少しわかりづらいかも知れませんがお願いします。

編集モードで選択したセルのデータが他のセルの編集モードに切り替わったときに表示されてしまい、そのセルのもともとあったデータが上書き表示されてしまいます。
例としては、
初期状態:セルA{ コンボA(DataA選択中)、コンボB(DataB選択中)}
     セルB{ コンボA(DataA選択中)、コンボB(DataB選択中)}
セルAを{コンボA(DataC選択中)、コンボB(DataD選択中)}に変更し編集モードを抜ける。
するとセルBで編集モードに入るときセルBの初期状態データが
セルB{ コンボA(DataC選択中)、コンボB(DataD選択中)}というように表示されてしまう。

なぜこのようになるのかがわかりません。

コードは以下のような感じです。

DataGridTemplateColumn.CellTemplateでTextBlockを二つ、
DataGridTemplateColumn.CellEditingTemplateでComboBoxを二つ縦に並べます。

ItemsSource="{Binding ListA}"、SelectedValue="{Binding ValA_1}",
ItemsSource="{Binding ListB}"、SelectedValue="{Binding ValB_1}"をバインドし、
DisplayMemberPath、SelectedValuePathを設定しました。

同じ列を
ItemsSource="{Binding ListA}"、SelectedValue="{Binding ValA_2}"
ItemsSource="{Binding ListB}"、SelectedValue="{Binding ValB_2}" …… のように5列つくり

DataGridのItemsSource="{Binding list_Data}"をバインドしました。

list_Dataのなかは以下のような感じです。
List<ClassA> list_Data{get;set;}
public class ClassA : INotifyPropertyChanged
{
public IList ListA{ get; set; }
public IList ListB{ get; set; }

private string _ValA_1;
private string _ValB_1;
private string _ValA_2;
private string _ValB_2;


public string ValA_1
{
get { return _ValA_1; }
   set
{
_ValA_1 = value;
NotifyPropertyChanged("ValA_1");
}
}

}
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -