|
0 / 0 / 0
Регистрация: 15.02.2024
Сообщений: 11
|
||||||||||||||||
XAML. Иерархические модели для разных типов объектов15.02.2024, 12:32. Показов 1867. Ответов 35
Всех приветствую! Столкнулся с такой задачей, над которой ломаю голову уже который день. Имеется следующая модель:
В разрезе деталей - всё отлично. Но при добавлении еще одного шаблона по типу объекта - выходит чушь. Мне нужно, чтобы каждый элемент Part можно было развернуть иерархию Operations. Где-то на просторах данного ресурса нашел пот такой вариант разметки XAML:
Мне же нужно, чтобы у каждого Part, в котором есть Operations были эти желтые строчки, но и оставалась так же структура Part Прошу помощи разобраться во всем этом
0
|
||||||||||||||||
| 15.02.2024, 12:32 | |
|
Ответы с готовыми решениями:
35
Как создать список для объектов разных типов данных
|
|
0 / 0 / 0
Регистрация: 15.02.2024
Сообщений: 11
|
|||||||
| 24.02.2024, 18:08 [ТС] | |||||||
|
Но да по сути со всеми этими объектами есть Бизнес Логика... на основе всех сущностей, что тут были описаны есть та или иная логика. Например: на основе Part - составляется структура продукта (будь-то уникальная, либо серийка), в основе PartInfo лежат описания не только самой детали, но и сопутствующие материалы, расходники и т.п., на их основе составляются ведомости и пр. За всё время я перепробовал несколько моделей хранения и загрузки этих объектов: к примеру были и сущности типа:
0
|
|||||||
|
Модератор
|
|
| 24.02.2024, 18:22 | |
|
sergey2129, есть требования по безопасности разработки?
Например, что сущности Контекста БД не должны покидать Репозиторий? Добавлено через 2 минуты Используете ли Lazy loading?
0
|
|
|
0 / 0 / 0
Регистрация: 15.02.2024
Сообщений: 11
|
||
| 24.02.2024, 18:26 [ТС] | ||
|
0
|
||
|
Модератор
|
|||||||
| 24.02.2024, 18:36 | |||||||
|
wizard41, Привязка WPF к свойствам навигации.
Добавлено через 4 минуты Добавлено через 3 минуты Для начала (тестовый пример), созадайте Code First БД с сущностями:
0
|
|||||||
|
|
||
| 24.02.2024, 18:38 | ||
|
И да, там было что-то вроде: "заменить объект целиком в ObservableCollection обходится дешевле чем изменить его свойства отдельно".
0
|
||
|
Модератор
|
|
| 24.02.2024, 18:39 | |
|
Логика такая что для ParentId == null - это сущности верхнего уровня.
Так же нужно задать проверку ParentId на существование в БД (и если "потянете" - отсутствие зацикливаний).Добавлено через 39 секунд Проверки нужно задавать в самой БД, чтобы она сама следила за целостностью своих данных.
0
|
|
|
0 / 0 / 0
Регистрация: 15.02.2024
Сообщений: 11
|
|||||||
| 24.02.2024, 18:40 [ТС] | |||||||
это как вариант... не знаю, понятно ли я объяснил
0
|
|||||||
|
Модератор
|
||
| 24.02.2024, 18:47 | ||
|
Как отладите эту часть для небольших БД, в Part нужно будет добавить несохраняемые свойства IsSelected и IsExpanded.
В Репозиторий метод прогрузки свзяанных сущностей для указанного Part. При поднятии IsSelected и IsExpanded - вызывать этот метод. Добавлено через 3 минуты Они должны быть в основных таблицах Parts и Operations. Данные из них грузятся всегда. А есть ещё дополнительные таблицы из которых данные будут грузиться "по требованию". Это уже другая тема. В текущей теме мы рассматриваем только вопрос древовидного представления основных данных БД.
0
|
||
|
0 / 0 / 0
Регистрация: 15.02.2024
Сообщений: 11
|
||
| 24.02.2024, 18:52 [ТС] | ||
|
Ну а по поводу Преставления, что писал с самого начала, вопрос остается открытым. Под описанием детали всё-таки необходим раскрывающийся список Операций
0
|
||
|
Модератор
|
||
| 24.02.2024, 19:11 | ||
|
Не по теме: sergey2129, какой-то сбой был у вас при отправке сообщения - не было видно текста, только цитата. Добавлено через 2 минуты В дереве будут участвовать только Part. А в контенте Part раскрывающийся список Operation.
0
|
||
|
|
||
| 24.02.2024, 19:15 | ||
VirtualizingStackPanel с режимом Mode=Recycling тут явно к месту.
0
|
||
|
Модератор
|
||||
| 24.02.2024, 19:23 | ||||
|
Есть только общие ObservableCollection для Part и Operation. Никаких вложенных коллекций не будет. Нужные сущности будут извлекать CollectionViewSource по фильтру указанного Id. Подгрузка cущностей будет происходить в локальный кеш контекста БД. Добавлено через 3 минуты Добавлено через 3 минуты Поэтому и написал про взвешенный и обдуманный подход к такому способу реализации.
1
|
||||
|
|
||
| 26.02.2024, 08:35 | ||
|
1
|
||
| 26.02.2024, 08:35 | |
|
Сериализация списка объектов разных типов в json
Как создать массив из объектов разных типов Сереализация нескольких объектов разных типов в один файл
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|