在列表框中显示来自服务器的图像
本文关键字:服务器 图像 显示 列表 | 更新日期: 2023-09-27 18:01:57
在Windows Phone 8上,我有一个加载用户位置的页面。每个位置由名称和图像名称组成。然后在存储中搜索图像并显示它。所有这些都可以使用数据绑定在列表框中查看。我不知道如何在数据绑定中设置图像源。我应该在Place
类中创建一个bit image类型的额外变量,还是在get
的字符串image name中,我应该调用返回bit image的函数吗?
这是Place
类:
class Place
{
public string id { get; set; }
public string user_id { get; set; }
public string name { get; set; }
public string radius { get; set; }
public string longitude { get; set; }
public string latitude { get; set; }
public string image { get; set; }
public string thumbnail { get; set; }
public async Task<placesobj> getUserPlaces(string userId)
{
var pairs = new List<KeyValuePair<string, string>>
{
new KeyValuePair<string, string> ("id", userId),
new KeyValuePair<string, string> ("data", "all_places")
};
var serverData = serverConnection.connect("places.php", pairs);
placesobj json = JsonConvert.DeserializeObject<placesobj>(await serverData);
if (json != null)
return json;
else
return null;
}
public class placesobj
{
public List<Place> places { get; set; }
}
}
}
下面是列表框的XAML:
<ListBox Grid.Row="1" ItemsSource="{Binding places}" Margin="0,10,0,0" >
<ListBox.ItemTemplate>
<DataTemplate >
<StackPanel Margin="10,0,10,8">
<StackPanel Orientation="Horizontal" Margin="10,0,10,8">
<TextBlock Text="{Binding name}" TextWrapping="Wrap" FontSize="50" />
<Image Source="{Binding }"
</StackPanel>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
试试这个。我想这样就可以了。这对我很有效。参考
图片源需要一个uri。所以最好把它写成uri
<Image Source="{Binding Image}"/>
public Uri Image { get; set; }