[英]DataGrid - iterate over rows and access cell values of each row
在C#WPF中,我有一個DataGrid對象 。 要用值填充DataGrid-對象 ,我要像這樣設置DataGrid.ItemsSource-屬性:
List<SomeClass> someClassList = new List<SomeClass>();
//adding elements to someClassList (omitted for brevity)
myDataGrid.ItemsSource = someClassList;
這可行,我能夠看到所有添加到DataGrid內部的someClassList
的元素。
用戶單擊按鈕后 ,我想將DataGrid內的所有內容保存到XML文件 。
我認為因此遍歷 DataGrid 的行會很聰明。 通過每次迭代,我可以一次訪問一行的單元格內的值,並將其寫入XML文件 。
為了執行這樣的迭代,我編寫了以下代碼:
foreach (SomeClass someClassElement in myDataGrid.Items)
{
Trace.WriteLine("cell-A = " + someClassElement.propertyA +
"cell-B = " + someClassElement.propertyB +
"cell-C = " + someClassElement.propertyC);
}
不幸的是,執行該操作(單擊按鈕)會導致InvalidCastException ,盡管WritLine方法能夠將每個單元格值打印到Output-window中 。
沒有InvalidCastException的情況下如何執行迭代?
有沒有更聰明的方法來將DataGrid內容保存到XML文件?
遍歷myDataGrid.ItemsSource
而不是myDataGrid.Items
,您將獲得SomeClass
實例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.