列表框中绝对路径中的图像列表

本文关键字:列表 图像 路径 | 更新日期: 2023-09-27 18:35:14

我正在开发Windows Phone 8.1应用程序,

有一个绝对路径的URL,我必须显示每次动态更改的图像。

如何在列表框中显示它们?

这是我的XML文件:

<root> 
  <row> 
    <Id>1234</Id>
    <Name>ABCD</projectName> 
    <isImage>1</isImage> 
  </row> 
 <row> 
   <Id>5678</Id> 
   <Name>PQRS</Name> 
   <isImage>1</isImage>
  </row>
</root>

请参阅下面的 XAML 代码:

<ListBox x:Name="listBox1" Width="480" Height="677" HorizontalAlignment="Left" Margin="0,0,0,59" VerticalAlignment="Top" ItemsSource="{Binding}" SelectedItem="{Binding}" SelectionMode="Extended">
<ListBox.ItemTemplate>
  <DataTemplate>
    <StackPanel Orientation="Horizontal" Background="White" Height="80" Margin="0,10,0,0">
     <Image x:Name="image1" Source="{Binding isImage}" Stretch="Uniform" HorizontalAlignment="Center" Height="70" Width="90" Margin="0,0,0,0"/>
      </StackPanel>
   </DataTemplate>
 </ListBox.ItemTemplate>

这是我的代码:

XDocument doc = XDocument.Parse(e.Result);
var nodes = doc.Descendants("row").ToList();
for (int i = 0; i < nodes.Count; i++)
{
   string newid = nodes[i].Element("Id").Value;
   string uri = "https://www.XYZ.com/abc/getDocument.htm?username=" + name + "&password=" + pwd + "&Id=" + newid;
   List<LIST> list = new List<LIST>();
   list = (from query in doc.Descendants("row")
       select new LIST
       {
         Id = query.Element("Id").Value,
         Name = query.Element("Name").Value,
         isImage = uri
       }).ToList();
   listBox1.DataContext = list;
}

我只得到"计数节点"的最后一个"ID",这就是问题所在。

应该如何解决,请帮帮我。

任何帮助将不胜感激。

谢谢!!

列表框中绝对路径中的图像列表

问题是每次在 For 循环中都要绑定,一旦所有元素都添加到列表中,请尝试绑定它。

for (int i = 0; i < nodes.Count; i++)
{
  Your logic
}
listBox1.DataContext = list;

我已经找到了解决方案。

请参阅下面的代码:

XDocument doc = XDocument.Parse(e.Result);
List<LIST> list = new List<LIST>();
var nodes = doc.Descendants("row").ToList();
 for (int i = 0; i < nodes.Count; i++)
 {
    string newid = nodes[i].Element("Id").Value;
    string uri = "https://www.XYZ.com/abc/getDocument.htm?username=" + name + "&password=" + pwd + "&Id=" + newid;
    list.Add(new LIST() { isImage = uri});
 }
 listBox1.DataContext = list;

这工作得很好,而且很棒!!