170 похожих чатов

WPF Есть коллекция элементов типа Matrix вида List<Matrixes> matrixes; Она отдается ListView

как источник 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.
Как это сделать?

2 ответов

17 просмотров

Reactive ui и databinding Посмотрите на хабре Рыба написал прекраснейшую статью

у ListView должны быть методы Update и прочие методы для взаимодействия с таблицей, через них правишь свой список. Привязку делай через Binding. Когда что-либо в таблице меняется пишешь listView.Items.Refresh(); и таблица обновляется с обновленным данными

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта