在列表框中显示来自服务器的图像

本文关键字:服务器 图像 显示 列表 | 更新日期: 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; }