Вот моя проблема, у меня следующая структура данных:
public class Job : INotifyPropertyChanged {
public StateEnum State {
get { return this.state; }
private set {
this.state = value;
this.OnPropertyChanged();
}
}
}
public class MainWindow : Window, INotifyPropertyChanged
public List<Job> Jobs {
get { return this.jobs; }
private set {
this.jobs = value;
this.OnPropertyChanged();
}
}
}
Я хочу отобразить сводную информацию о состоянии работ в главном окне.
Сначала я попыталсясоздайте привязку данных в списке заданий, а затем используйте пользовательский IValueConverter для отображения глобального состояния.Проблема: она не обновляется при изменении состояний задания (поскольку оно связано с коллекцией, а не с состояниями).
ProgressState="{Binding Jobs, Converter={StaticResource JobsToProgressState}, ElementName=MainWindow}"
Поэтому я пытался найти решение, в котором я могу связать все вложенные свойствазаданий для IMultiValueConverter.Я не нашел никакого синтаксиса, чтобы сделать эту работу.
Возможно ли сделать что-то подобное?
РЕДАКТИРОВАТЬ: Я хочу сделать что-то вроде
ProgressState="{Binding Jobs[*].State, Converter={StaticResource JobsToProgressState}, ElementName=MainWindow}"
И получить массив, содержащий все состояния задания (StateEnum [] ) в конвертере JobsToProgressState.