2017-06-03 29 views
1

アムは私がXamlImageビューに取得する画像のため
private const string BaseImageUrl = "http://eamobiledirectory.com/cooperp/Images/app_images/";結合二つの文字列(連結)

BaseImageUrl文字列を有するシナリオを有するプラス連結

012:正確なイメージ名 flower.jpg forexample を持ち、JSONをデシリアライズした後だと、それがリストとして来ている文字列値office_photoを持つことは、以下の私のモデルクラスです
public class Adverts 
    { 
      public string office_photo { get; set; } 
      public DateTime entryDate { get; set; } 
    } 

ので、私が欲しいものを私はイメージへの完全なリンクを取得するようXAMLBaseUrloffice_photoを連結する方法です。

以下

私のイメージが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> 

答えて

1

ビューモデムの新しいプロパティで2つの文字列を連結し、そのプロパティにバインドするだけです。それは本当に簡単だし、1行のコード:-)

このような何か:

public string PhotoUrl { get { return BaseImageUrl + office_photo; }} 
+0

コードでどの程度正確に表示してください –

+0

更新私の答え。私は携帯電話に乗っていますので、タイプミスを許してください... –

+0

ありがとうございました。 –

1

はあなたの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"/> 

のようなものを

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 
    } 

のようなIValueConverter

ものを使用(ありませんテステッドが動作する可能性があります)

+0

それはこの 'HTTPのようなことを行います:// eamobiledirectory.com/cooperp /画像/ APP_IMAGES/flower.jpg' –

+0

これは問題ですか?そうすべき。 –

+0

が 'xmlns http:// xamarin.com/schemas/2014/forms'に存在しないタイプのAddBaseUrlConverterを取得しようとしています –