2017-04-07 66 views
0

我想从url字符串加载图像。下面的代码是一组项目,其中Photo是加载图像的东西。通常我包括来自我的硬盘的形象和加载的图像由Photo = "image_name.jpg"C#Xamarin从url加载图像

这是第一个代码:

public MainPageViewModel() 
{   
    items.Add(new CardStackView.Item() { Name = "Title 1", Photo = " xxx ", Description = "Desc 1" }); 
    items.Add(new CardStackView.Item() { Name = "Title 2", Photo = " xxx ", Description = "Desc 2" }); 
    items.Add(new CardStackView.Item() { Name = "Title 3", Photo = " xxx ", Description = "Desc 3" }); 
    items.Add(new CardStackView.Item() { Name = "Title 4", Photo = " xxx ", Description = "Desc 4" }); 
    items.Add(new CardStackView.Item() { Name = "Title 5", Photo = " xxx ", Description = "Desc 5" }); 
    items.Add(new CardStackView.Item() { Name = "Title 6", Photo = " xxx ", Description = "Desc 6" }); 
} 

我想xxx是我的网址例如https://i.vimeocdn.com/portrait/58832_300x300

这段代码是我显示图像:

Photo = new Image() 
{ 
    InputTransparent = true, 
    Aspect = Aspect.Fill, 
    Scale = 0.95 
}; 

view.Children.Add(Photo, 
        Constraint.RelativeToParent((parent) => { double w = parent.Width * 1; return ((parent.Width - w)/2); }), 
        Constraint.Constant(10), 
        Constraint.RelativeToParent((parent) => { return parent.Width; }), 
        Constraint.RelativeToParent((parent) => { return (parent.Height* 0.80); })); 

请注意,这两个代码件不是在同一个文件,但在两个单独的文件。

我希望这不是重复的,因为我一直无法找到解决我的问题的方法。

+1

尝试https://github.com/luberda-molinet/FFImageLoading –

+0

问题或问题是什么? – EvZ

+0

@EvZ“即时通讯尝试从网址字符串加载图片。” – TheGejr

回答

1

您需要设置Image元素的Source

Photo = new Image() 
{ 
    InputTransparent = true, 
    Aspect = Aspect.Fill, 
    Scale = 0.95, 
    Source = "https://your_image_url.com/the_image.png" 
}; 
0

我建议你使用Binding,基本上你只需要为Source设定值。请尝试以下操作:

<Image Source="{Binding ImageUrl}" WidthRequest="80" HorizontalOptions="Start" VerticalOptions="Start" />