前提・実現したいこと
XMLにDataGridの内容を丸ごと保存する方法がいくら調べても出てきません
###わからないこと
・DataGridのItemsSourceまたはItemを取得し、それをXMLに書き出せない
・コード内のWriteXMLを呼び出すとCPUの利用率が100%を超え、メモリがキャパオーバーしてアプリがクラッシュする
2つ目のほうはWindow1を継承してるからなのか...と思いましたがよくわからないです(本題とは関係ないですが)
半日調べて試しましたが全くうまくいかず...どうすればよいかわかりません。ご教授願います
以下当該箇所のコードです。
C#
1 public partial class Window1 : Window 2 { 3 public Window1() 4 { 5 InitializeComponent(); 6 _datagrid.ItemsSource = new LoadXML().LoadItems; 7 new WriteXML(); 8 } 9 } 10 11 class LoadXML 12 { 13 //省略 14 } 15 16 class Person 17 { 18 public string Name { get; set; } 19 public string Age { get; set; } 20 public string Gender { get; set; } 21 } 22 23 class WriteXML :Window1 24 { 25 public WriteXML() 26 { 27 var DataGridItems =_datagrid.ItemsSource; 28 XElement xml = XElement.Load(@"test.xml"); 29 xml.Elements = DataGridItems; //ここでエラー 30 xml.Save(@"test.xml"); 31 } 32 } 33
XAML
1<Grid> 2 <DataGrid x:Name="_datagrid"></DataGrid> 3</Grid>
XML
1<?xml version="1.0" encoding="utf-8" ?> 2<XmlTest> 3 <Person> 4 <Row> 5 <Name>山田 太郎</Name> 6 <Age>25</Age> 7 <Gender>男</Gender> 8 </Row> 9 <Row> 10 <Name>鈴木 一郎</Name> 11 <Age>38</Age> 12 <Gender>男</Gender> 13 </Row> 14 <Row> 15 <Name>佐藤 花子</Name> 16 <Age>47</Age> 17 <Gender>女</Gender> 18 </Row> 19 </Person> 20</XmlTest>
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。