|
2 / 2 / 0
Регистрация: 03.05.2021
Сообщений: 26
|
|
WPF Заполнение вкладок TabItem данными из БД WPF03.05.2021, 21:07. Показов 9020. Ответов 66
Опирался на пост Вывод данных из БД в разные TabItem
Допустим, есть база данных с таблицами "Уровень", "Вопросы", "Теория" и "Главы", связи все настроил. Также есть проект WPF с окном, на котором расположены два TabItem'а, на которых располагаются поочередно теория и вопросы к ней. Допустим, человек выбирает какую-нибудь главу, к которой в бд относятся какая-нибудь теория и вопросы к ней. Ему выводится теория на первой вкладке, а за ней на второй (или условно третьей и четвертой) отображаются задания. Была мысль выводить теорию с помощью элемента WebBrowser, просто открывая различные html страницы, однако вариант с бд кажется интереснее. Если есть какие-либо замечания по спроектированной базе данных - буду рад выслушать!
0
|
|
| 03.05.2021, 21:07 | |
|
Ответы с готовыми решениями:
66
Переключение вкладок в tabcontrol при клике на элемент внутри tabitem Wpf скрыть TabItem у TabControl WPF Custom TabItem in TabControl - UserControl vs ControlTemplate (DataTemplate) |
|
Модератор
|
|||
| 17.05.2021, 21:26 | |||
|
Нужен навигатор который будет страницы переключать. И ViewModel тоже ещё не реализована. Добавлено через 16 минут kMOD, сделал фиксацию:
0
|
|||
|
Модератор
|
||
| 18.05.2021, 18:15 | ||
|
kMOD, сделал фиксацию:
Я отключил миграцию. Надо её подключить, но в этой теме я ещё не разбирался. Добавлено через 2 минуты Не могу понять почему БД не пересоздаётся. Добавлено через 1 час 12 минут Varyna, а точно достаточно пакетов NuGet только в проекте Модели? В основном (запускаемом) проекте Решении они не нужны? Ошибка возникает сразу при попытке доступа к БД.
0
|
||
|
78 / 67 / 13
Регистрация: 04.10.2018
Сообщений: 330
|
|||||||||||||||||||||
| 18.05.2021, 19:02 | |||||||||||||||||||||
|
Элд Хасп, Сейчас проверю.
Добавлено через 12 минут Элд Хасп, Вот так.
Почему то пустую таблицу выводит. Я сделал вот так. Class DbContext
Потом добавил запись в бд и вывел.
2
|
|||||||||||||||||||||
|
Модератор
|
|||
| 18.05.2021, 21:15 | |||
|
Сейчас посмотрю. Добавлено через 9 минут Varyna, вы фиксацию делали? В Репе никаких изменений. Добавлено через 43 минуты Varyna, перенёс с поста - заработало. Но привязки почему-то перестали работаь. Разбираюсь. Добавлено через 10 минут Varyna, случайно в XAML лишнюю букву нажал в имени свойства привязки. kMOD, сделал фиксацию:
0
|
|||
|
2 / 2 / 0
Регистрация: 03.05.2021
Сообщений: 26
|
|
| 18.05.2021, 21:38 [ТС] | |
|
Элд Хасп, Varyna, Спасибо Вам огромное за помощь!! Ух, проект весьма серьезный вышел, много чего нового для себя узнаю
0
|
|
|
Модератор
|
||
| 19.05.2021, 08:17 | ||
|
1) Пять таблиц вместо двух. Для данной задачи это избыточно. Сделано так для того чтобы продемонстрировать как Модель работает с Репозиторием. 2) "Ленивая" загрузка только тех данных, что визуализируются. Это тоже избыточно, но для обучения полезно. 3) Навигатор для управления страницами в Окне. 4) В навигаторе два способа управления Представлением: Непосредственное задание значений для Представления (Название кнопки навигации) и изменение свойства-ключа по которому Представление само настраивается (тип страницы по которому триггерами выбирается нужный UserControl).
1
|
||
|
Модератор
|
|||
| 19.05.2021, 14:10 | |||
|
"Ленивая" загрузка реализована для Описателей Уровня и Вопроса. Свойство Descriptor изначально пустое (null). Его значение загружается после первого обращения к этому свойству. То есть элементов много (LevelVM и QuestionVM). При первоначальном их выводе достаточно только их свойства Title: для уровней оно выводится в ListBox, для вопросов - в заголовках вкладок. А Descriptor загружается только после выбора элемента (строки ListBox или вкладки). Ради одного свойства так делать не стоит, так как это практически не сказывается на скорости работы. Но если подгружаемых данных много и они объёмны, это позволяет быстро вывести список с основным свойством. (свести лаги GUI к минимуму). Именно для этого пришлось разделить две таблица на пять. По одной таблице для основного свойства и таблицы для дополнительной информации. 5) Реализован Контекст Данных Времени Разработки. При "серьёзном" (большом, сложном) GUI без такого Контекста будет очень трудно создавать и отлаживать WPF GUI.
1
|
|||
| 19.05.2021, 14:10 | |
|
Наведение курсора на TabItem и как менять фон при нажатии на другой TabItem Программное создание tabItem по образцу другого tabItem с контролами
Drop drag wpf перетаскивание вкладок ошибка Таб контроль: заполнение вкладок и их создание по заданному набору названий Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|