我正在尝试将视图模型上的值转换为控件所需的类型。我有一个IValueConverter
实现, 被调用。 返回有效值。但是,返回到控件的值不是转换器返回的值。
注意下面是一个粗略的例子,尽管不完全是我的情景。我无法发布我的代码,因为它属于公司。此外,我一直无法复制问题。另一个应用程序中的相同场景工作正常。
我的转换器:
public class TupleCollectionConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var members = (IEnumerable<Tuple<string, string>>) value;
var retVal = new ObservableCollection<string>(members.SelectMany(t => new[] {t.Item1, t.Item2}));
return retVal;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
在XAML中:
<ItemsControl ItemsSource="{Binding ValuePairs, Converter={StaticResource MyTupleCollectionConverter}}"/>
当我调试时,在转换器返回时设置一个断点,我看到它正确地转换为值,但是我在控件中得不到任何结果。运行Snoop,它表示ItemsSource
属性设置为null。