Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WPF, Silverlight Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4]      все
 Re: Отслеживание изменений в DataGrid  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38457
Eld Hasp
Проверил - исключение.

хмм. )) насколько я понял эту фичу которую нужно было зазубрить а не логикой понять.
Добавлять нужно в Модели\Коллекции.
А изменения вверх к гриду придут.
6 ноя 18, 23:04    [21725939]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание изменений в DataGrid  [new]
Eld Hasp
Member

Откуда:
Сообщений: 225
Petro123
Eld Hasp
Проверил - исключение.

хмм. )) насколько я понял эту фичу которую нужно было зазубрить а не логикой понять.
Добавлять нужно в Модели\Коллекции.
А изменения вверх к гриду придут.
Да, я за это и писал. Если идёт привязка ItemsSource, то изменять надо привязанную коллекцию, а не сам элемент.
6 ноя 18, 23:52    [21725975]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание изменений в DataGrid  [new]
Roman Mejtes
Member

Откуда: г. Пермь
Сообщений: 3305
То что геморройно я понял.... Вот такие мелки нюансы в 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.
6 ноя 18, 23:56    [21725977]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание изменений в DataGrid  [new]
Eld Hasp
Member

Откуда:
Сообщений: 225
Roman Mejtes
То что геморройно я понял.... Вот такие мелки нюансы в WPF, превращающиеся в геморрой, и удивляют...
не знаю, я не вижу никакого геморроя, я вижу огромный горизонт применения .........
Вот за это я и люблю WPF.
Может я к вам присоединюсь, когда у меня будет 10-я частью Ваших знаний. Но пока ..... Всё так сложно.
Пытаюсь учиться, читать, но как-то всё сложно, запутано. Ни как структура всего этого в голове не уложиться. Может литература не та попадается, а может .... голова не та...
7 ноя 18, 00:41    [21726007]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание изменений в DataGrid  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38457
Roman Mejtes,
Это круто конечно.
Но много крутых задумок закончились ничем, т.к. Кастомизация или допиливание представления нужно в одном из тысячи проектов.
Прокомментируй подход телерика что я выше привел.
Верно что ты привел один вариант, а у телерика второй?
7 ноя 18, 07:12    [21726056]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание изменений в DataGrid  [new]
Roman Mejtes
Member

Откуда: г. Пермь
Сообщений: 3305
Petro123
Roman Mejtes,
Это круто конечно.
Но много крутых задумок закончились ничем, т.к. Кастомизация или допиливание представления нужно в одном из тысячи проектов.
Прокомментируй подход телерика что я выше привел.
Верно что ты привел один вариант, а у телерика второй?
не знаю, не знаю, у меня это обычно в любом проекте. Так как дизайн обычно "дизайнерский", а интерфейс сложнее блокнота.
да и практически любые списки делаю через декораторы, так как мне удобнее хранить состояния выделения и другие состояния в декораторе, а не классах модели представления
7 ноя 18, 11:17    [21726313]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание изменений в DataGrid  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38457
Roman Mejtes
не знаю, не знаю, у меня это обычно в любом проекте.

Странно. Грид девок или телерик позволяет настроить в широких пределах даже джуну.
НЕ имея твоей квалификации.
Интересно конкретнее про ГУИ, если есть желание.
7 ноя 18, 11:44    [21726375]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание изменений в DataGrid  [new]
Roman Mejtes
Member

Откуда: г. Пермь
Сообщений: 3305
Petro123,

я почти не юзал телериковский грид. но в свое время искали SpreedSheet для решения одной задачи и самый прикол в том, что я из всех представленных (Telerik, ComponentOne и другие) я не нашел не одного адекватного, во всех вариантах я находил кучи блокирующих багов и практически все тормозили :( (это не антиреклама, возможно за эти 2 года всё стало лучше)

Но вообще, я только за, если в проекте есть платные компоненты, ведь по факту мне работы меньше, если конечно они подходят для поставленных задач.

по конкретным GUI, не очень понял вопрос, что интересует конкретно?
7 ноя 18, 11:55    [21726404]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание изменений в DataGrid  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38457
Roman Mejtes
по конкретным GUI, не очень понял вопрос, что интересует конкретно?
выше писал как в телерике подписываться на начало редактирования. Твое мнение?
7 ноя 18, 12:08    [21726463]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание изменений в DataGrid  [new]
Roman Mejtes
Member

Откуда: г. Пермь
Сообщений: 3305
а как из модели подписаться на события во View и зачем это нужно?
7 ноя 18, 16:28    [21727075]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание изменений в DataGrid  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38457
Roman Mejtes
а как из модели подписаться на события во View и зачем это нужно?
если ты про мой вопрос, то...
Паттерн MVVM.
В классе ViewModel делаем boolean properties IsEdit. Т.е. Кнопку сохранить биндим на свойство.
А вот кол выше передает событие начала редактирования в метод рядом тут же чтобы взводить это свойство.
Выходить 3 строки кода. Так?
7 ноя 18, 16:49    [21727106]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание изменений в DataGrid  [new]
Roman Mejtes
Member

Откуда: г. Пермь
Сообщений: 3305
привязать кнопку с свойству?
у вас всё сводится, почему то к тому, что чем меньше кода, тем лучше. Но это заблуждение с вашей стороны
8 ноя 18, 10:16    [21727777]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание изменений в DataGrid  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38457
Roman Mejtes
привязать кнопку с свойству?
у вас всё сводится, почему то к тому, что чем меньше кода, тем лучше. Но это заблуждение с вашей стороны
аргументируй. Не только меньше кода. Джуны ругаются на сложность)))
8 ноя 18, 10:33    [21727802]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4]      все
Все форумы / WPF, Silverlight Ответить