2016-11-13 10 views
1

Xamarin Forms를 사용하여 이미지를 UriImageSource에 바인딩하는 데 문제가 있습니다.URL에 이미지 바인딩 Xamarin Forms XAML

격자 모양의 텍스트 목록을 제공하지만 각 제품과 관련된 이미지가 나타나지 않는 FlowListView를 구현했습니다.

다른 누구에게도이 방법을 사용했거나이를 해결하는 방법을 알고 있습니까?

감사합니다.

XAML :

 <flv:FlowListView.FlowColumnTemplate> 
      <DataTemplate> 
       <Grid Padding="3"> 
        <Grid.RowDefinitions> 
         <RowDefinition Height="*" /> 
        </Grid.RowDefinitions> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="*" /> 
        </Grid.ColumnDefinitions> 


       <Image HeightRequest="100" > 
        <Image.Source> 
        <UriImageSource Uri="{Binding ProductImage}" /> 
        </Image.Source> 
        </Image> 

        <Label x:Name="Label" HorizontalOptions="Fill" HorizontalTextAlignment="Center" VerticalOptions="End" 
         BackgroundColor="Silver" Opacity="0.5" Text="{Binding ProductName}"/> 
       </Grid> 
      </DataTemplate> 
     </flv:FlowListView.FlowColumnTemplate> 

    </flv:FlowListView> 

보기 모델 : vmProduct는 위의 예에서 (

this.Products.Add(new vmProduct { ProductName = "Test", ProductImage = new UriImageSource { Uri = new Uri("https://upload.wikimedia.org/wikipedia/en/5/5f/Original_Doge_meme.jpg") } }); 

을 초기화한다

public class vmProduct { 
     public vmProduct() { } 
/* removed other properties, constructors etc */ 
     public UriImageSource ProductImage { get; set; } 
     public string ProductName { get; set; } 
} 

, "테스트"나타나지만 이미지가됩니다 하지 않습니다)

+1

public Uri ProductImage { get; set; }에 @jzeferino는 덕분에 알았어요! –

답변

2

UriImageSourceUri으로 바인딩하기 때문에 ViewModel 속성은 Uri가되어야합니다.

변경 public UriImageSource ProductImage { get; set; }

관련 문제