0

C# WPFにはDataGridオブジェクトがあります。DataGridオブジェクトに値を入力するには、次のように DataGrid.ItemsSource プロパティを設定しています

List<SomeClass> someClassList = new List<SomeClass>();
//adding elements to someClassList (omitted for brevity)
myDataGrid.ItemsSource = someClassList;

これは機能し、 DataGridsomeClassList内に追加されたすべての要素を確認できます。

ユーザーがボタンをクリックした後、そのDataGrid内のすべてのコンテンツをXML ファイルに保存したいと考えています。

したがって、DataGridの行を反復処理するのが賢明だと思いました。反復ごとに、一度に1行のセル内の値にアクセスして、 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-File に保存するより賢い方法はありますか?

4

1 に答える 1