Я пытаюсь использовать IValueConverter для преобразования коллекции в прокси-объект для привязки данных.wpf IValueConverter не обновляет вид
Конвертер, кажется, работает нормально, но проблема в том, что новый объект добавляется или удаляется из коллекции. То же самое не обновляется в представлении ..
Модель объекта:
public class A {
public ObservableCollection<string> Members { get; }
}
Преобразователь
public class MemberConverter : IValueConverter {
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) {
var collection = new CompositeCollection();
var a = value as A;
a.Members.ToList().ForEach(member => {
collection.Add(new ProxyClass{ A= a, Member= member });
});
return collection;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) {
throw new System.NotImplementedException();
}
}
прокси класса
public class ProxyClass {
public A A { get; set; }
public string Member{ get; set; }
}
XAML:
<DataTemplate DataType="{x:Type my:ProxyClass}">
<TextBlock Text="{Binding Path=Member}"/>
</DataTemplate>
<HierarchicalDataTemplate DataType="{x:Type A}" ItemsSource="{Binding Converter={StaticResource MemberConverter}}">
<TextBlock Text ="{Binding}"/>
</HierarchicalDataTemplate>
Изменено для кода для реализации INotifyPropertyChanged для прокси-объекта и изменения xaml as Что ж. Еще не повезло .. – Arihant