|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Eld HaspПроверил - исключение. хмм. )) насколько я понял эту фичу которую нужно было зазубрить а не логикой понять. Добавлять нужно в Модели\Коллекции. А изменения вверх к гриду придут. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 23:04 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Petro123Eld HaspПроверил - исключение. хмм. )) насколько я понял эту фичу которую нужно было зазубрить а не логикой понять. Добавлять нужно в Модели\Коллекции. А изменения вверх к гриду придут.Да, я за это и писал. Если идёт привязка ItemsSource, то изменять надо привязанную коллекцию, а не сам элемент. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 23:52 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
То что геморройно я понял.... Вот такие мелки нюансы в WPF, превращающиеся в геморрой, и удивляют...не знаю, я не вижу никакого геморроя, я вижу огромный горизонт применения представления коллекций. по сути это прослойка между View и ViewModel, позволяющая синхронизировать View и ViewMode в плане коллекций, но не только это. Просто вы плохо еще знакомы с WPF, по этому все кажется сложным, не логичным, когда освоитесь, будет значительно проще. "Магия" декларативного программирования WPF имеет тёмную сторону, если вы плохо понимаете как устроена эта "магия", тяжело, что то реализовать. Разберитесь с основами WPF, иерархией классов, как устроенно связывание, макетирование, маршрутизация событий, векторная графика и аффинные (матричные) преобразования, диспатчер и приоритеты, свойства зависимости и присоединяемые свойства, анимация, триггеры и менеджер состояний, типы ресурсов и чем они отличаются (Dynamic\Static). В книгах найдете ответы, на все эти вопросы. Вот лично я вкусив все прелести WPF когда открываю WF проекты, чувствую как снизу печёт =) мне кажется, что я из рая, вернулся в АД, добавить функционал в элемент управления, особенно не свой, это геморой, codebehind файлы по 5000 строк, горите в АДу :) Petro123, изменять нужно не в коллекции, а её представлении, а после подтверждения Commit'а добавлять элемент в модель представления. В модели представления механизм синхронизации зависит от модели. Либо сразу изменения применяются, либо ко команде Save, либо еще как. На самом деле, ListBox можно заполнить элементами, при этом в модели и модели представления никаких элементов не будет, все они будут "виртуальными", не материализованными даже на уровне VM. Представление коллекции позволяет на уровне View или ViewModel отобразить коллекцию в том виде, в каком требуется, не меняя самой коллекции модели. ListCollectionView позволяет добавить только 1 элемент и только в начало или конец, но этот функционал можно расширить. Допустим с помощью представления коллекции можно отобразим дерево элементов, отображаться будут только те элементы, родитель которых имеет свойство IsExpanded. Под каждым кустом можно добавить элемент создания дочерних элементов. При этом, если делать это в DataGrid, а вед в нём не обязательны ячейки, можно оставить только строки :D вы получите дерево, если колонки будут, то дерево с колонками и ячейками. Обернем в шаблоне ItemsPresenter в Popup окно, добавим ToggleButton и получаем ComboBox с деревом, мультиселектом, колонками, сортировкой, фильтрацией, генерацией, редактированием, виртуализацией, синхронизацией и т.д. И по сути, это всё из коробки, собственный код, это только ViewModel, ICollectionView и шаблон элемента, который я могу использовать для любых коллекций, даже без учёта иерархии. И самый сок в том, что выглядеть это может так как хочет дизайнер, а не как хочет система. Вот за это я и люблю WPF. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 23:56 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Roman MejtesТо что геморройно я понял.... Вот такие мелки нюансы в WPF, превращающиеся в геморрой, и удивляют...не знаю, я не вижу никакого геморроя, я вижу огромный горизонт применения ......... Вот за это я и люблю WPF.Может я к вам присоединюсь, когда у меня будет 10-я частью Ваших знаний. Но пока ..... Всё так сложно. Пытаюсь учиться, читать, но как-то всё сложно, запутано. Ни как структура всего этого в голове не уложиться. Может литература не та попадается, а может .... голова не та... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2018, 00:41 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Roman Mejtes, Это круто конечно. Но много крутых задумок закончились ничем, т.к. Кастомизация или допиливание представления нужно в одном из тысячи проектов. Прокомментируй подход телерика что я выше привел. Верно что ты привел один вариант, а у телерика второй? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2018, 07:12 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Petro123Roman Mejtes, Это круто конечно. Но много крутых задумок закончились ничем, т.к. Кастомизация или допиливание представления нужно в одном из тысячи проектов. Прокомментируй подход телерика что я выше привел. Верно что ты привел один вариант, а у телерика второй?не знаю, не знаю, у меня это обычно в любом проекте. Так как дизайн обычно "дизайнерский", а интерфейс сложнее блокнота. да и практически любые списки делаю через декораторы, так как мне удобнее хранить состояния выделения и другие состояния в декораторе, а не классах модели представления ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2018, 11:17 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Roman Mejtesне знаю, не знаю, у меня это обычно в любом проекте. Странно. Грид девок или телерик позволяет настроить в широких пределах даже джуну. НЕ имея твоей квалификации. Интересно конкретнее про ГУИ, если есть желание. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2018, 11:44 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Petro123, я почти не юзал телериковский грид. но в свое время искали SpreedSheet для решения одной задачи и самый прикол в том, что я из всех представленных (Telerik, ComponentOne и другие) я не нашел не одного адекватного, во всех вариантах я находил кучи блокирующих багов и практически все тормозили :( (это не антиреклама, возможно за эти 2 года всё стало лучше) Но вообще, я только за, если в проекте есть платные компоненты, ведь по факту мне работы меньше, если конечно они подходят для поставленных задач. по конкретным GUI, не очень понял вопрос, что интересует конкретно? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2018, 11:55 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Roman Mejtesпо конкретным GUI, не очень понял вопрос, что интересует конкретно?выше писал как в телерике подписываться на начало редактирования. Твое мнение? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2018, 12:08 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
а как из модели подписаться на события во View и зачем это нужно? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2018, 16:28 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Roman Mejtesа как из модели подписаться на события во View и зачем это нужно?если ты про мой вопрос, то... Паттерн MVVM. В классе ViewModel делаем boolean properties IsEdit. Т.е. Кнопку сохранить биндим на свойство. А вот кол выше передает событие начала редактирования в метод рядом тут же чтобы взводить это свойство. Выходить 3 строки кода. Так? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2018, 16:49 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
привязать кнопку с свойству? у вас всё сводится, почему то к тому, что чем меньше кода, тем лучше. Но это заблуждение с вашей стороны ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2018, 10:16 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Roman Mejtesпривязать кнопку с свойству? у вас всё сводится, почему то к тому, что чем меньше кода, тем лучше. Но это заблуждение с вашей стороныаргументируй. Не только меньше кода. Джуны ругаются на сложность))) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2018, 10:33 |
|
|
start [/forum/topic.php?fid=21&msg=39728957&tid=1440380]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
142ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 240ms |
total: | 481ms |
0 / 0 |