Я пытаюсь связать несколько выборок из DataGrid с ViewModel, но изо всех сил пытаюсь найти решение, которое допускает двустороннее связывание, так как я считаю, что свойство SelectedItems DataGrid доступно только для чтения.
Сейчас я использую помощника от Prism, который позволяет одностороннюю привязку от View к ViewModel.
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<prism:InvokeCommandAction
Command="{Binding SelectionChangedCommand}"
CommandParameter="{Binding SelectedItems,
ElementName=PatchDataGrid}" />
</i:EventTrigger>
</i:Interaction.Triggers>
Это работает для односторонней привязки данных, но мое приложение позволяет пользователю делать выбор, используя всегда работающую службу (через CLI). Логика реализации заключается в добавлении элементов в SelectedItems ObservableCollection с использованием CLI, но (как и ожидалось, учитывая текущий подход), эти изменения не отражаются в пользовательском интерфейсе. Я не вижу способа вернуть эти изменения в интерфейс прямо сейчас, используя какой-либо подход, сохраняя при этом MVVM.
Я рассмотрел добавление свойства IsSelected к модели, но это не сработает, так как выбор должен выполняться для представления, а не для глобального свойства.
Я ищу совет от тех, кто уже прошел этот путь и нашел решение, которое соответствует MVVM с двухсторонним связыванием данных.
Заранее спасибо!