2012-01-17 10 views
2

リスト/配列を割り当てる際に、データテーブルが異なる動作をする理由を理解しようとしています。DataTableのリスト/配列の問題

MainDisplay =空のドックパネル。

LItem = 2つの特性、Id及びデータ

var dgBills = new DataGrid(); 
dgBills.ItemsSource = new List<ListBillsItem> 
{ 
    new LItem {Id = 5, Data = "Patrik"}, 
    new LItem {Id = 6, Data = "Thomas"} 
}; 
MainDisplay.Children.Add(dgBills); 

持つクラスは、これは、3行とデータグリッドを生成します!パトリックは1行、トーマスは1行、空の行は1行です。

私はこの中にそれを変更すると、それはわずか2行(それが必要として)

var dgBills = new DataGrid(); 
dgBills.ItemsSource = new[] 
{ 
    new LItem {Id = 5, Data = "Patrik"}, 
    new LItem {Id = 6, Data = "Thomas"} 
}; 
MainDisplay.Children.Add(dgBills); 

それがこのように振る舞う理由を説明することができます誰もが生成?私はデータベースからリストを取得しています。リストにあるレコードのみを表示したいのですが。

答えて

3

これは、データグリッド上のCanUserAddRows="True"というプロパティが原因です。これは、基礎となるコレクションが新しいアイテムを受け入れる場合、新しいアイテムの空の行を表示します。このプロパティをfalseに設定すると、2つのケースで同じことが分かります。

+0

私はそれにビート:) – Rachel

+0

だから簡単です。リストは展開できますが、配列は展開できません。ありがとう! – Patrick