У меня есть ObservableCollection строк, и я tring, чтобы связать его с конвертером ListBox и показать только строки, которые начинаются с некоторого префикса.
я писал:WPF binding ObservableCollection с конвертером
public ObservableCollection<string> Names { get; set; }
public MainWindow()
{
InitializeComponent();
Names= new ObservableCollection<Names>();
DataContext = this;
}
и преобразователь:
class NamesListConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value == null)
return null;
return (value as ICollection<string>).Where((x) => x.StartsWith("A"));
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return null;
}
}
и XAML:
<ListBox x:Name="filesList" ItemsSource="{Binding Path=Names, Converter={StaticResource NamesListConverter}}" />
но ListBox не обновить после обновления Бид (добавить или удалить).
Я заметил, что если я удалю конвертер из привязки, его работы отлично. Что не так с моим кодом?
Вы не можете использовать DynamicResource для конвертера. Исключение брошено – user2348001