2012-02-28 13 views
2

WPF DataGridコントロールと基になるList<int?>オブジェクト間の中間層の提案が必要です。明らかに私はDataGridがget/setプロパティを持つオブジェクトのコレクションにバインドしたいので、DataGridで見つからないnullable intオブジェクトの 'Value'プロパティに問題があったため、2つを直接簡単に接続することはできません列バインディングソース。ListへのDataGridバインディング<int?>

オリジナルのデータソースはList<int?>のままでなければならず、私はDataGridが提供する自動追加/削除/編集機能を利用しようとしているため、双方向データバインディングは元のList<int?>ソース。

ありがとうございます。

+0

あなたが持っているコードを投稿してください。ほとんどの場合、nullを処理するためにコンバータを使用する必要があります。 – Paparazzi

+0

私はコーディングの前にまず良いアイデアを得ることを望んでいました。私が実験的なコードで持っている主な問題は、DataGridがint型のコレクションに正しくバインドできないため、コンバーターが呼び出されないことです。 (クラスSystem.Nullable。)私はintを信じていますか?バインドしようとすると実際のint値にboxed/unboxedされ、次にintに "Value"プロパティがありますか?私はプリミティブなint32オブジェクトだけが残っています。 – SoConfused

答えて

2

私はあなたのプログラムはC#でこれは信じていない?簡単な方法は

クラスまたはデータグリッド(変数、関数または一部)を宣言しているintにデータグリッドを接続する

[OK]を、

List<int> int_Data; 

int_Data = new List<int>(); 
int_Data.Add(DataGrid); 

//Now, declare the DataGridColumn or Row and call this... 

BindingList<Type> type = new BindingList<Type>(); 

type.Add(int_Data); 

そのエラーのため申し訳ありません単純な例、;)

Bye!

+0

質問はintですか? nullable – Paparazzi

+0

nullを返しますか?何のために? – Warkanlock

+0

これが問題でした。 SoConfusedに相談してください。 – Paparazzi

0

それから失敗した実験コードを投稿してください。

TextBoxとコンバータを使い、DataGridで学ぶ内容を使用してください。空のTextBoxから出てくるものはnullではなく、空の文字列なので空の文字列を直接Intにバインドしようとしますか?キャストエラーが発生します。空の文字列にはコンバーターを使用し、空の文字列にはnullを使用する必要があります。

関連する問題