我正在构建一个小的Wpf应用程序来学习自己wpf。 我遇到了一个控制器的问题。 我有一个带有字符串格式的url列表的对象,我想将它们绑定到一个图像,并使用wpf转换器类将url转换为位图。
但是当我实现转换器时,程序会抛出以下错误:
'XmlParseException未处理'
详细说明:
“{”无法转换类型的对象 键入'ChanGrabber.Converter' 'System.Windows.Data.IValueConverter'。 “}”
这是在xaml中引用转换器的代码:
xmlns:local="clr-namespace:ChanGrabber">
<Window.Resources>
<local:Converter x:Key="Convert"/>
</Window.Resources>
这是我使用控件的代码:
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Source="{Binding ThumbImgUrl, Converter={StaticResource Convert}}" />
</StackPanel>
</DataTemplate>
以下是转换器的代码:
namespace ChanGrabber
{
class Converter
{
[valueconversion(typeof(string), typeof(bitmapimage))]
public class imageconverter : ivalueconverter
{
public object convert(object value, type targettype, object parameter, system.globalization.cultureinfo culture)
{
try
{
string mypath = (string)value;
uri myuri = new uri(mypath);
bitmapimage animage = new bitmapimage(myuri);
return animage;
}
catch (exception)
{
return new bitmapimage(new uri("ikke funket"));
}
}
public object convertback(object value, type targettype, object parameter, system.globalization.cultureinfo culture)
{
throw new notimplementedexception();
}
}
这是我绑定到图像的对象
class MainPosts : MainLinks
{
public MainPosts(string _title, string _link, String _postText, string _imageUrl, string _thumbUrl) :base(_title,_link)
{
PostText = _postText;
ImageUrl = _imageUrl;
ThumbImgUrl = _thumbUrl;
}
public String PostText { get; set; }
public String ImageUrl { get; set; }
public string ThumbImgUrl { get; set; }
}
我不知道为什么它不起作用,我对这个程序感到沮丧。 任何帮助都会非常受欢迎
答案 0 :(得分:1)
使用<local:imageconverter x:Key="Convert"/>
答案 1 :(得分:0)
您的转换器需要实现IValueConverter
接口,否则WPF将不知道如何处理它(因此它会为您提供该异常。)
class Converter : IValueConverter
{
...
}