2016-12-07 7 views
0

Ich versuche EmbeddedImages an eine ListView zu binden, damit ich ein anderes Symbol je nach dem Element der Liste anzeigen kann. Unter Verwendung Working with Images tutorial Ich habe es geschafft, eine Erweiterung zu machen, um die eingebetteten Bilder zu zeigen, aber nur, wenn ich den Ort auf das Symbol hart Code.Verwenden von Bindung in Xamarin XAML-Erweiterung

So funktioniert das:

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

aber ich kann das Symbol nicht binden ich will. Ich habe alle diese versucht und keine funktionierte:

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

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

Antwort

1

Wenn Sie Bindung verwenden möchten, müssen Sie keine Markup-Erweiterung verwenden. Erweiterung ist erfolgt "Da es keinen integrierten Typkonverter von Zeichenfolge zu ResourceImageSource" gibt. In Ihrem Modell

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

Dann in XAML verwenden

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

definieren Und Sie brauchen keine Erweiterungsklassen

Verwandte Themen