我有一个场景,我有一个BaseImageUrl
字符串
private const string BaseImageUrl = "http://eamobiledirectory.com/cooperp/Images/app_images/";
我想要检索到Image
中的Xaml
视图中的图片,并将其与字符串值office_photo
连接,该字符串值具有确切的图像名称 forexample < / em> flower.jpg
并且在反序列化JSON后得到它并且它作为List出现,下面是我的Model类:
public class Adverts
{
public string office_photo { get; set; }
public DateTime entryDate { get; set; }
}
所以我想要的是如何连接BaseUrl
中的office_photo
和XAML
,以便获得图片的完整链接。
是我在ListView中的图片:
<ListView x:Name="listViewTest" HasUnevenRows="true">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Orientation="Horizontal">
<Image Aspect="AspectFill" Source="{Binding office_photo}" x:Name="advertImage"
WidthRequest="200"/>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
答案 0 :(得分:1)
使用IValueConverter
像
这样的东西public class AddBaseUrlConverter : IValueConverter
{
#region IValueConverter implementation
private const string BaseImageUrl = "http://eamobiledirectory.com/cooperp/Images/app_images/";
public object Convert (object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value is string && ! string.IsNullOrEmpty((string)value)) {
return string.Format("{0}{1}", BaseImageUrl, (string)value);
}
return ""; //
}
public object ConvertBack (object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException ();
}
#endregion
}
然后在你的XAML中
<ContentPage.Resources>
<ResourceDictionary>
< AddBaseUrlConverter x:Key="cnvInvert"></AddBaseUrlConverter >
</ResourceDictionary>
</ContentPage.Resources>
<Image Aspect="AspectFill" Source="{Binding office_photo, Converter={StaticResource cnvInvert}}" x:Name="advertImage" WidthRequest="200"/>
(未经测试,但可行)
答案 1 :(得分:1)
只需在视图调制解调器的新属性中连接两个字符串并绑定到该属性即可。它非常简单,只需一行代码: - )
这样的事情:
public string PhotoUrl { get { return BaseImageUrl + office_photo; }}