Die Umsetzung IValueConverter zum konvertieren von string zu Bild
Ich bin versucht derzeit, die Anzeige der Bilder in meinem Windows 8 Anwendung. Ich habe eine Methode füllt eine Eigenschaft vom Typ List<string>
mit einer Reihe von Pfade zu Bildern. Ich Wünsche für die Anzeige dieser Bilder auf dem Bildschirm.
So, ich habe umgesetzt, einen Konverter um von string zu Bild. Allerdings bekomme ich den Fehler :
- Dem Namen "StringToImageConverter" existiert nicht im namespace
"Verwendung:TestApp.Wandler". - 'TestApp.Wandler.StringToImageConverter' nicht implementiert
Schnittstelle Element
'Windows.UI.Xaml.Daten.IValueConverter.ConvertBack(object,
System.Type, object, string)' - 'TestApp.Wandler.StringToImageConverter' nicht implementiert
Schnittstelle Element
'Windows.UI.Xaml.Daten.IValueConverter.Convert(object, System.Typ,
Objekt, string)'
Hier ist der code von meinem Konverter :
namespace TestApp.Converters
{
public sealed class StringToImageConverter : IValueConverter
{
public object Convert(object value, Type targetType,
object parameter, CultureInfo culture)
{
try
{
return new BitmapImage(new Uri((string)value));
}
catch
{
return new BitmapImage();
}
}
public object ConvertBack(object value, Type targetType,
object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}
Und aus meiner XAML-Datei :
<common:LayoutAwarePage
...
xmlns:converters="using:TestApp.Converters"
DataContext="{Binding RelativeSource={RelativeSource Self}}">
<Page.Resources>
<converters:StringToImageConverter x:Key="StringToImageConverter"> </converters:StringToImageConverter>
</Page.Resources>
...
<ItemsControl ItemsSource="{Binding Path=test}" Grid.Column="1" Grid.Row="3" Grid.ColumnSpan="4"
HorizontalContentAlignment="Stretch">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Image Source="{Binding Converter={StaticResource StringToImageConverter}}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
...
Diese Arbeit sollte für die Anzeige meiner Bilder in der Windows 8-Anwendung? Die List<string>
Bild-Pfade genannt wird test
und ist in der code-behind der xaml-Datei.
Vielen Dank für jegliche Hilfe mit diesem 🙂
- Sind diese compile-Zeit-Fehler oder Laufzeit-Fehler?
- Ich würde, wenn ich nicht immer diese Fehler offensichtlich.
- Diese sind compile-Zeit-Fehler 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Offenbar gibt es zwei Arten von IValueConverters:
Es klingt wie dein Rahmen ist zu erwarten, die ehemaligen, während Sie die Umsetzung der letzteren.
Werden Sie wahrscheinlich auch brauchen, um dies zu ändern:
zu diesem:
Windows.UI.Xaml.Data.IValueConverter
erwartet, dass der Letzte parameter einestring
, nicht einCultureInfo