|
3 / 3 / 0
Регистрация: 10.02.2023
Сообщений: 91
|
|||||||||||
Работа с ListBox WPF08.02.2024, 21:17. Показов 2015. Ответов 29
Метки нет (Все метки)
Доброго времени суток!
У меня есть форма на которой Grid имеет две колонки. В одной ListBox, в другой TextBlock. У меня есть список List<Ontology>. Мне необходимо добавить в ListBox мой List<Ontology> и в нем отображать свойство Name, а в TextBlock свойство Description элемента ListBox на котором фокус, а так же при двойном нажатии на элемента ListBox открывать в ListBox List<Definition> и отображать его свойство Name, а в TextBlock свойство Description класса Definition. И при обратном двойном клике возвращаться к представлению List<Ontology>.
0
|
|||||||||||
| 08.02.2024, 21:17 | |
|
Ответы с готовыми решениями:
29
C# WPF Прокрутка ListBox'a
ListBox сохранение WPF |
|
Модератор
|
||||
| 09.02.2024, 22:18 | ||||
|
Реализует интерфейс INotifyCollectionChanged. Не для это темы. На заметку: BindigList и DataView тоже обеспечивают уведомление об изменениях. MV*.Вам понятна концепция этого семейства?
1
|
||||
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
|||
| 09.02.2024, 22:22 | |||
|
0
|
|||
|
3 / 3 / 0
Регистрация: 10.02.2023
Сообщений: 91
|
|||
| 09.02.2024, 22:59 [ТС] | |||
|
Отличная идея, я так и думал
Добавлено через 1 минуту Добавлено через 33 секунды
0
|
|||
|
Модератор
|
||
| 09.02.2024, 23:11 | ||
|
1) Модель - библиотека классов Standard 2. Не имеет ссылки на другие проекты; 2) ViewModel - библиотека классов Standard 2. Имеет ссылку на проект Модель; 3) View - библиотека классов для WPF. Ссылка на проект ViewModel; 4) App - приложение. Имеет ссылку на все другие проекты Решения.
0
|
||
|
Модератор
|
||
| 10.02.2024, 10:55 | ||
|
Объект-источник в привязке может быть явно задан в одном из свойств: Source, RelativeSource и ElementName. Если нет явного задания, вот тогда используется объект источник из свойства DataContext. При этом надо понимать, что объект-источник в DataContext это необязательно ViewModel. Например, очень часто используется привязка в иерархическом представлении не к текущему контексту данных, а к VM на другом уровне иерархии. Особенно часто это используют для команд кнопок, во всплывающих окнах (Popup, ContextMenu и др.).
1
|
||
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
|||||||||||||||||||||||||||||||||||||||||
| 10.02.2024, 21:18 | |||||||||||||||||||||||||||||||||||||||||
Сообщение было отмечено Diagn0z как решение
Решение
Diagn0z,
Пример
В нем реализовал интерфейс INotifyPropertyChanged
Для
Далее код MainWindow.cs В нем я комметировал код.
В главном Lisbox я указал привязку для свойства SelectedItem, в привязке указал UpdateSourceTrigger и Mode
На Item добавил кнопку удаления из коллекции. Чтобы при двойном клике открывалось окошко у дочернего ListBox можете скопировать код такого же события. И передать в новую форму объект Data, редактирование всех свойств точно такое же как с TextBox. Если что то не понятно будет пишите. Конечно не лучший пример хорошей реализации, а решение для вопроса только. По хорошему счёту лучше Custom Control на основе ListboX создать. Но тут вопрос состоит насколько это вам надо. Если только в учебных целях, то лучше выбрать что то попроще. Diagn0z_Exemple-JsonToView.rar
1
|
|||||||||||||||||||||||||||||||||||||||||
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
|
| 10.02.2024, 21:22 | |
|
И если делать Custom Control для вашей задачи то лучше использовать TreeView Но у него придется переписать полностью шаблон, реализовать свойства SelectedItem. Select у него во всех случаях доступен. Но чтобы этим заняться, нужно больше опыта и практики с шаблонами.
1
|
|
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
|
| 10.02.2024, 23:33 | |
|
Элд Хасп, можно итак, я не знаю целей автора. Решит сам нужно это ему или нет. В целом я везде указал set и везде заготовки есть для правок через привязки или код, как пример с textbox одну сделал для примера что не обязательно в c# лезть чтобы изменения делать.
2
|
|
|
3 / 3 / 0
Регистрация: 10.02.2023
Сообщений: 91
|
|
| 13.02.2024, 19:59 [ТС] | |
|
Спасибо Вам большое, возьму это решения за образец
1
|
|
| 13.02.2024, 19:59 | |
|
Помогаю со студенческими работами здесь
30
[WPF] ListBox не обновляется ListBox иерархическое отображение (WPF) WPF ListBox распределенная подгрузка WPF: Привязка коллекции к ListBox WPF Заполнение ListBox из БД aCCES Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель здравоСохранения 15. Как мы чинили AnyLogic модель рабочего коллектива: сочленение диаграммы состояний болезней и поломок в ресурспул
anaschu 23.05.2026
Как мы чинили AnyLogic модель рабочего коллектива
Сегодня разобрались с пятью багами, из-за которых модель либо падала с ошибкой, либо давала совершенно бессмысленные результаты. Каждый баг был. . .
|
Диалоги с ИИ
zorxor 23.05.2026
Насколько я понимаю - Вы - Искусственный Интеллект. Это так?
Да, всё верно. Я — искусственный интеллект.
Я представляю собой большую языковую модель, созданную для помощи в самых разных задачах. . . .
|
Модель здравосохранения 14. Собираем всю модель вместе.
anaschu 22.05.2026
Модель собрана. В будущих постах на видео я покажу, как она работает.
В этом посте запускаем её, проверяем результаты и разбираем что можно с ней делать дальше.
Перед запуском проверяем. . .
|
Модель здравоохранения 13. Добавление самой системы здравоохранения.
anaschu 22.05.2026
В предыдущем посте мы настроили болезни. Теперь добавим события, которые управляют здоровьем всего коллектива, а также настроим рабочий график и расчёт финансов.
В Main создаём четыре события. . . .
|
|
Модель здравоохранения 12. добавление болезней через ресурпул, как аварии
anaschu 22.05.2026
Болезни — это ключевая часть нашей модели. Нам нужно, чтобы работник периодически уходил на больничный, его задание при этом зависало, а после выздоровления работа возобновлялась. Реализуем это двумя. . .
|
Модель здравоохранения 11. Создаём классы Задание и Работник
anaschu 22.05.2026
В AnyLogic каждая заявка и каждый ресурс — это объект определённого класса. Нам нужно создать два класса: Задание (заявка) и Работник (ресурс).
Класс Задание
В дереве проекта нажимаем правой. . .
|
Модель здравоохранения 10. Новая модель, смотрим, как добавлять логические блоки, и что писать внутри
anaschu 22.05.2026
Открываем AnyLogic, создаём новый проект. В дереве проекта появляется класс Main — это главный агент, в котором будет жить вся наша логика.
Палитра блоков
Слева находится палитра. Нас интересует. . .
|
модель ЗдравоСохранения 9. Новая модель, разбираемся, как ее создавать
anaschu 22.05.2026
В этой серии постов мы построим модель небольшого рабочего коллектива. Сотрудники получают задания, выполняют их, иногда болеют — и мы хотим посчитать, сколько это стоит компании.
Метод. . .
|