2009-11-23 46 views
150

我綁定使用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]; 
    } 
} 

我的DataGrid出於某種原因,我在底部得到一個空行。有時在點擊網格中的一些按鈕和複選框後,會添加更多空行。

這是爲什麼?我怎麼阻止這個?

回答

340

聽起來像你可能有CanUserAddRows爲DataGrid設置爲true。只需添加

CanUserAddRows="false" 

到XAML。

+9

太棒了,那個伎倆!怪異的爲什麼這是默認情況下.. – WtFudgE

+0

短而甜蜜:)工作像一個魅力!謝謝@Tomi –

+8

請記住,即使未選中網格屬性中的複選框,您也必須顯式添加該行代碼以隱藏附加行(或者選中並取消選中複選框) –

3

如果您正在創建的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 
13

它還與屬性:

IsReadOnly="true"