有人知道基于IValueConverter类是否可以进行数据绑定吗?
我有以下转换器:
[ValueConversion(typeof(int), typeof(Article))]
public class LookupArticleConverter : FrameworkElement, IValueConverter {
public static readonly DependencyProperty ArticlesProperty = DependencyProperty.Register("Articles", typeof(IEnumerable<Article>), typeof(LookupArticleConverter));
public IEnumerable<Article> Articles
{
get { return (IEnumerable<Article>)GetValue(ArticlesProperty); }
set { SetValue(ArticlesProperty, value); }
}
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) {
...
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) {
...
}
}
它的目的是通过其 ID 在列表中查找一篇文章,并返回该文章。
然而,我想通过数据绑定一个集合来填充文章属性,就像这样:
<local:LookupArticleConverter Articles="{Binding Articles}" x:Key="LookupArticle"/>
但似乎这不起作用。设置方法从未被调用。源属性包含实际的非空集合,所以这不是问题。
输出日志中也没有关于绑定的错误消息。
任何线索?