Проведя целый день, пробовав разные предложения, я вернулся в квадрат 1. Я пытаюсь привязать мой взгляд, окно XAML, к одному из моих свойств ViewModel, скажем, SalesOrders , ViewModel, в свою очередь, обсуждает модель (модель EF поверх базы данных). Вопрос, с которым я столкнулся, - это тип коллекции, который я должен использовать, чтобы открыть свойство SalesOrders.WPF: Какой класс коллекции использовать
Я пробовал следующие типы, ни один из которых не выполняет все то, что мне нужно.
List<T>
ObservableCollection<T>
BindingList<T>
CollectionViewSource
на вершине выше
Вот что мне нужна моя коллекция сделать:
- мнение имеет Предыдущая/Следующая кнопка s, поэтому сбор должен предоставить своего рода валютный менеджер.
- В представлении есть кнопка «Сохранить», которая должна быть включена/отключена немедленно в зависимости от того, имеет ли коллекция SalesOrder какие-либо изменения. Поскольку
SalesOrder
уже является EF-типом, все его поля реализуютINotifyPropertyChanged
.
CollectionViewSource
дает мне методы навигации (предыдущей/следующей), но не слушает события PropertyChanged, поэтому изменения данных в представлении не поворачивается кнопки Сохранить на. BindingList
может прослушивать события PropertyChanged, но не предоставляет способы навигации. ObservableCollection
не хватает обеих функций.
TIA.
Звучит так, будто вы должны катиться самостоятельно. – Will
Не могли бы вы просто подключиться к событию «PropertyChanged» модели при добавлении в «CollectionViewSource» и отцеплении при удалении? Затем, в обработчике PropertyChanged, повторно запросите команду кнопки сохранения (которая, как я предполагаю, привязана к 'ICommand') – Thelonias
Почему ваша коллекция' 'нужна? Разве это не то, что для ViewModel? Вы всегда можете катить свой собственный класс, выставляя коллекцию, например, @Will. –