как источник ItemSource.
[кол-во столбцов\строк разные и могут быть заданы вводом пользователя]
При выборе элемента из ListView должны отобразиться данные матрицы в DataGrid.
При этом, если юзер поменяет ij значение в DataGrid , то оно должно поменяться и в коллекции matrixes.
Я понимаю что нужен общий источник данных (DataContext) для списка в сетки.
1) Как синхронизировать выбор в списке и сетке? для этого подойдет IsSynchronizedWithCurrentItem ?
2) Можно обойтись только xaml?
3) ListBox.DisplayMemberPath получает данные по полю класса. как сделать тоже самое,только получить коллекцию для DataGrid?
4) Насколько я понял, DataGrid не поддерживает динамический ItemSource - если нужны новые данные,то источник должен быть переназначен. Я могу создать DataTable в качестве источника и выгружать данные матрицы в него при каждой смене элемента в списке. Далее,я передаю его как новый источник данных DataGrid.
Однако,здесь я получаю временный объект который непонятно как связать с DataGrid
5) Для своего класса Matrix я могу реализовать интерфейс INotifyPropertyChanged. и это ничего не даст.
Проще говоря,нужно связать DataGrid с коллекцией ObservableCollection и настроить представление, в общем CRUD.
Как это сделать?
Reactive ui и databinding Посмотрите на хабре Рыба написал прекраснейшую статью
у ListView должны быть методы Update и прочие методы для взаимодействия с таблицей, через них правишь свой список. Привязку делай через Binding. Когда что-либо в таблице меняется пишешь listView.Items.Refresh(); и таблица обновляется с обновленным данными
Обсуждают сегодня