私は最初の Windows 8 アプリに取り組んでいます。画像と画像の説明が入力された GridView を表示しようとしています。作成した XML ファイルからデータを取得したいと考えています。GridView の ItemSource プロパティを見つけ、XML ファイルをそれにバインドしようとしましたが、これを行うことができません。
このタスクを行う正しい方法を教えてください。ありがとう
私は最初の Windows 8 アプリに取り組んでいます。画像と画像の説明が入力された GridView を表示しようとしています。作成した XML ファイルからデータを取得したいと考えています。GridView の ItemSource プロパティを見つけ、XML ファイルをそれにバインドしようとしましたが、これを行うことができません。
このタスクを行う正しい方法を教えてください。ありがとう
XML ファイルを に直接バインドすることはできませんGridView.ItemsSource
。最初にオブジェクトに解析する必要があります。に表示されるすべてのデータを含むクラスを作成しますGridView
。
public class GridViewItem
{
public string Description { get; set; }
public ImageSource Image { get; set; }
}
次のステップは、XML ファイルを解析して のリストにすることですGridViewItem
。
var xmlString = await FileIO.ReadTextAsync(storageFile);
var xml = XDocument.Parse(xmlString);
var Items = xml.Element("rootNode").Elements("itemNode").Select(i => new GridViewItem
{
Description = (string)i.Element("descriptionNode"),
Image = ParseImage(i.Element("imageNode"))
}).ToList();
XML のタグはrootNode
、itemNode
、descriptionNode
およびであると仮定しましたimageNode
。また、画像データが XML にどのように保存されているかもわかりません。に変換するロジックImageSource
はParseImage()
.
Items
残っている唯一のことは、上記のリストをビューモデルのプロパティに割り当てて、次のようDataContext
にバインドすることItemsSource
です。
<GridView ItemsSource="{Binding Items}" />
これが基本的な考え方です。私の回答には多くの詳細が欠けていますが、それがあなたの質問に基づいてできる最善のことです。