2016-12-07 115 views
0

我試圖將EmbeddedImages綁定到ListView,因此我可以根據列表中的項顯示不同的圖標。使用Working with Images教程我已經設法做一個擴展來顯示嵌入的圖像,但只有當我硬編碼的位置圖標。在Xamarin XAML擴展中使用綁定

所以此工程:

<Image Source="{local:ImageResource (namespace).icon.png}"/> 

,但我不能綁定到我想要的圖標。我試過所有這些,但都沒有工作:

<Image Source="{local:ImageResource {Binding _iconLocation}}" /> 

<Image Source="{Binding Source=local:ImageResource, Path=_iconLocation}"/> 

回答

1

如果你想使用綁定,你不需要使用標記擴展。擴展完成「因爲沒有從字符串到ResourceImageSource的內置類型轉換器」。 在模型中定義

public ImageSource MyImageSource 
     { 
      get 
      { //here you decide what resource to use 
       return ImageSource.FromResource("(namespace).icon.png"); 
      } 
     } 

然後在XAML中使用

<Image Source="{Binding MyImageSource}" /> 

而且你不需要任何擴展類