有谁知道是否可以对基于 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 在列表中查找文章,并返回该文章。
但是,我想通过将集合数据绑定到它来填充 Articles 属性,如下所示:
<local:LookupArticleConverter Articles="{Binding Articles}" x:Key="LookupArticle"/>
但这似乎不起作用。永远不会调用 setter 方法。source 属性包含一个实际的非空集合,所以这不是问题。
输出日志中也没有关于绑定的错误消息。
有什么线索吗?