0

xmlを使用してすべての画像を表示する簡単なタスクを作成しようとしています。しかし、私はその仕事を完全にはできません。助けてください...

私のxamlコード:

<ScrollViewer>
            <ListBox x:Name="imglist" Loaded="imglist_Loaded">
                <ListBox.ItemsPanel>
                    <ItemsPanelTemplate>
                        <toolkit:WrapPanel />
                    </ItemsPanelTemplate>
                </ListBox.ItemsPanel>
                <ListBox.ItemTemplate>
                    <DataTemplate>

                        <Image x:Name="img" Source="{Binding ImageUrl}" Width="160" Height="160"/>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
        </ScrollViewer>

私のxmlファイル:

    <?xml version="1.0" encoding="utf-8" ?><Image ImageUrl = "C:/Users/USER 1/Documents/Visual Studio 2012/Projects/pinchimage/pinchimage/Butterfly.jpg"/>

  <Image   ImageUrl="C:/Users/USER 1/Documents/Visual Studio 2012/Projects/pinchimage/pinchimage/Desert.jpg"/>

  <Image    ImageUrl="C:/Users/USER 1/Documents/Visual Studio 2012/Projects/pinchimage/pinchimage/Field.jpg"/>
<images>

  <Image ImageUrl = "C:/Users/USER 1/Documents/Visual Studio 2012/Projects/pinchimage/pinchimage/Butterfly.jpg"/>

  <Image   ImageUrl="C:/Users/USER 1/Documents/Visual Studio 2012/Projects/pinchimage/pinchimage/Desert.jpg"/>
</images>

Manipage.xaml.cs :

private void imglist_Loaded(object sender, RoutedEventArgs e)
        {
            var element = XElement.Load("Authors.xml");
            var authors = from var in element.Descendants("Image")
                          select new images
                          {
                              ImageUrl = GetImage(var.Attribute("ImageUrl").Value)
                          };
            imglist.ItemsSource = authors;
        }

        private ImageSource GetImage(string p)
        {
            return new BitmapImage(new Uri(p, UriKind.Relative));
        }

クラスファイル:

public class images
{
    public ImageSource ImageUrl { get; set; }
}
4

1 に答える 1

0

XML ファイルのパスを確認してください。C:/Users/USER 1/Documents/Visual Studio 2012/Projects/pinchimage/pinchimage/お使いの携帯電話/エミュレーターには存在しません。アプリ パッケージ内の画像リソースまたはコンテンツ ファイルへの URI、またはインターネット上の画像への URL を指定する必要があります。IIRC、分離ストレージ内のイメージの場合、手動で仲介する必要があります (ただし、私はそれについて間違っている可能性があります)。

于 2013-01-22T22:26:49.340 に答える