gpt4 book ai didi

c# - 实现 IValueConverter 将字符串转换为图像

转载 作者:可可西里 更新时间:2023-11-01 09:48:09 24 4
gpt4 key购买 nike

我目前正在尝试在我的 Windows 8 应用程序中显示图像。我有一个填充类型属性的方法 List<string>有许多图像路径。我希望在屏幕上显示这些图像。

因此,我实现了一个从字符串到图像的转换器。但是,我收到错误:

  • 命名空间中不存在名称“StringToImageConverter”“使用:TestApp.Converters”。
  • 'TestApp.Converters.StringToImageConverter' 没有实现接口(interface)成员'Windows.UI.Xaml.Data.IValueConverter.ConvertBack(对象,System.Type、对象、字符串)'
  • 'TestApp.Converters.StringToImageConverter' 没有实现接口(interface)成员'Windows.UI.Xaml.Data.IValueConverter.Convert(对象,System.Type,对象,字符串)'

这是我的转换器的代码:

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();
}
}
}

从我的 XAML 文件中:

    <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>
...

这是否适用于在 Windows 8 应用程序中显示我的图像? List<string>图像路径称为 test并且在 xaml 文件的代码后面。

非常感谢为此提供的所有帮助:)

最佳答案

显然有两种类型的 IValueConverters:

Windows.UI.Xaml.Data.IValueConverter
System.Windows.Data.IValueConverter

听起来您的框架期望的是前者,而您正在实现后者。

你可能还需要改变这个:

xmlns:converters="using:TestApp.Converters"

为此:

xmlns:converters="clr-namespace:TestApp.Converters"

关于c# - 实现 IValueConverter 将字符串转换为图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14259262/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com