데이터 그리드를 사용하여 바인딩합니다.
//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];
}
}
어떤 이유로 바닥에 빈 줄이 생깁니다. 때로는 그리드의 일부 버튼과 확인란을 클릭 한 후 더 많은 빈 행이 추가됩니다.
왜 이런거야? 그리고 이것을 어떻게 차단합니까?
답변
CanUserAddRows
DataGrid에 대해 true로 설정 한 것 같습니다 . 그냥 추가
CanUserAddRows="false"
XAML에.
답변
또한 속성과 함께 작동합니다.
IsReadOnly="true"
답변
구현하는 백킹 컬렉션이 IEditableCollectionView
해당 CanAddNew
메서드 에서 true를 반환 하면 DataGrid는이를 원하는 것으로 가정합니다.
여기에 좋은 개요가 있습니다. WPF DataGrid의 편집 기능 개요
답변
소스 코드를 통해 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
답변
OP는 빈 행을 제거하는 방법을 묻었지만 제목은 구체적이지 않으며이 기사는 빈 행을 추가하는 방법을 찾으려고하면서 검색에 나타납니다. 빈 행이 나타나 려면 기본 생성자가 있어야 CanUserAddRows="True"
하지만 ItemsSource
필요합니다 public MyClass () { }
.