У меня есть небольшое приложение WPF, в котором у меня есть список файлов.Ниже списка файлов у меня есть кнопка «Загрузить».Я хотел бы, чтобы текст в кнопке загрузки отображал «Upload x files», где x - это количество элементов в списке.
Я использую конвертер, который принимает свойство ItemsSource в качестве входных данных и возвращает строку,однако, если я добавляю или удаляю элементы из списка (т. е. это базовая коллекция), конвертер в привязке кнопки не вызывается.
Что я делаю неправильно?
У меня есть базовый класс:
public class FileItem : INotifyPropertyChanged { ... }
и коллекция ObservableCollection:
public class Files : ObservableCollection<FileItem> {}
Я присваиваю коллекцию ListView.
lvw_FileList.ItemsSource = new Files();
ListView имеет привязанное свойство ItemSource.
<ListView x:Name="lvw_FileList" ItemsSource="{Binding Mode=OneWay}">
...
</ListView>
Кнопка, текстовое содержимое которой нуждается в преобразователе на основе ListView.ItemsSource.
<Button Content="{Binding ElementName=lvw_FileList, Path=ItemsSource, Converter={StaticResource UpdateButtonConverter}}" x:Name="btn_Upload" />