使用xml显示图像

时间:2013-01-19 09:36:32

标签: xml image windows-phone

我正在尝试使用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; }
}

1 个答案:

答案 0 :(得分:0)

检查XML文件中的路径。您的手机/模拟器上不存在C:/Users/USER 1/Documents/Visual Studio 2012/Projects/pinchimage/pinchimage/。您应该为应用程序包中的图像资源或内容文件提供URI,或者为Internet上的图像提供URL。 IIRC,对于隔离存储中的图像,您需要手动编写它们(尽管我可能错了)。