43

私はこれでここで気が狂っています:

ObservableCollection<Employee> list = new ObservableCollection<Employee>();
dgEmployees.ItemsSource = list;

リスト変数をデバッグすると、空 (list.Count =0) になりますが、それを DataGrid (WPFToolkit) にバインドすると、空白の行が表示されます。

イミディエイト ウィンドウでは、dgEmployees.Items に対して次のように表示されます。

dgEmployees.Items[0]
{NewItemPlaceholder}

dgEmployees.Items[0].GetType()
{Name = "NamedObject" FullName = "MS.Internal.NamedObject"}
[System.RuntimeType]: {Name = "NamedObject" FullName = "MS.Internal.NamedObject"}

この Datagrid を TabControl に入れた後に発生するようですが、それと関係があるかどうかはわかりません。

この空白行を削除する方法を知っている人はいますか?

4

3 に答える 3

95

DataGrid の WPF 4.0 バージョンでも同じ問題が発生します。これは、ObservableCollection ItemsSource に対して自動的に表示される新しい行の追加が原因です。IsReadOnly を True に設定するのはあまりにも急進的です。
その動作が必要ない場合は CanUserAddRows プロパティを無効にすることで解決しましたが、それでもセルを変更したい場合:

CanUserAddRows="False"

于 2011-02-21T09:16:47.463 に答える
23

私はそれを持っている

Datagrid XAMLに、次の属性を設定します。

IsReadOnly="True"
于 2009-08-26T20:39:32.910 に答える