web-dev-qa-db-ja.com

下部のWPFデータグリッドの空の行

を使用してデータグリッドをバインドします

//fill datagrid
public DataTable GameData
{
    get
    {
        DataSet ds = new DataSet();
        FileStream fs = new FileStream(IMDB.WebPage.Class.Config.XMLPath,
        FileMode.Open, FileAccess.Read);
        StreamReader reader = new StreamReader(fs, Encoding.Default);
        ds.ReadXml(reader);
        fs.Close();
        DataTable temp = ds.Tables[0];
        return ds.Tables[0];
     }
 }

何らかの理由で、下部に空の行が表示されます。また、グリッド内の一部のボタンとチェックボックスをクリックすると、空の行が追加されることがあります。

どうしてこれなの?そして、これをどのようにブロックしますか?

185
WtFudgE

DataGridでCanUserAddRowsがtrueに設定されていると思われます。追加するだけ

CanUserAddRows="false"

xAMLに。

418
Tomi Junnila

次の属性でも機能します。

IsReadOnly="true"
17
Arti

IEditableCollectionViewを実装するバッキングコレクションがCanAddNewメソッドからtrueを返す場合、DataGridはそれがあなたのしたいことであると想定します。

ここに概要があります: WPF DataGridの編集機能の概要

13
Alastair Maw

ソースコードを使用してオンザフライでDataGridを作成している場合...

DataGrid grid = new DataGrid();

grid.CanUserAddRows = false;

//... 
grid.AutoGenerateColumns = false;
grid.Margin = new Thickness(10,20,10,10);
grid.VerticalAlignment = VerticalAlignment.Top;
grid.ItemsSource = //... and so on
3
Web Developer