0

私は最初の Windows 8 アプリに取り組んでいます。画像と画像の説明が入力された GridView を表示しようとしています。作成した XML ファイルからデータを取得したいと考えています。GridView の ItemSource プロパティを見つけ、XML ファイルをそれにバインドしようとしましたが、これを行うことができません。

このタスクを行う正しい方法を教えてください。ありがとう

4

1 に答える 1

0

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 のタグはrootNodeitemNodedescriptionNodeおよびであると仮定しましたimageNode。また、画像データが XML にどのように保存されているかもわかりません。に変換するロジックImageSourceParseImage().

Items残っている唯一のことは、上記のリストをビューモデルのプロパティに割り当てて、次のようDataContextにバインドすることItemsSourceです。

<GridView ItemsSource="{Binding Items}" />

これが基本的な考え方です。私の回答には多くの詳細が欠けていますが、それがあなたの質問に基づいてできる最善のことです。

于 2013-02-13T05:56:12.040 に答える