|
0 / 0 / 0
Регистрация: 03.09.2022
Сообщений: 69
|
||||||||||||||||||||||||||
Вложенные View элементы. Взаимодействие с ViewModel04.03.2024, 14:49. Показов 2461. Ответов 47
Задача: изначально неизвестно количество expander и button внутри него. Они будут извлекаться из JSON файла и отображаться во view (позже добавится кнопка обновления данных, в случае каких-либо изменений во время выполнения программы). Предварительная их инициализация содержится в модельном классе ниже. Можно ли сделать шаблон через xml или всё же необходимо будет использовать код в данном случае? В будущем, вероятно возникнет вложенность ещё одного expander, но думаю, всё будет по аналогии...
0
|
||||||||||||||||||||||||||
| 04.03.2024, 14:49 | |
|
Ответы с готовыми решениями:
47
Как зарегистрировать ViewModel через Autofac, создав между ViewModel и нужным View DataContext связь? |
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
|||
| 07.03.2024, 06:06 | |||
|
Dmitry12329, сейчас ScrollViewer работает правильно. Изменение его логики сделает только хуже. Внешний вид можно настроить.
0
|
|||
|
Модератор
|
|||||||||||||||||
| 07.03.2024, 20:27 | |||||||||||||||||
|
В данном случае вам нужно вертикально сжать или сам ScrollViewer или его родительский Grid:
Dmitry12329, здесь может потребоваться вложенность нескольких контейнеров с разным поведением чтобы добиться нужного поведения. Добавлено через 3 минуты Dmitry12329, я смотрю на ваши скрины и возникает мысль: Может вам отключить вертикальный ScrollBar пока он не понадобится?
0
|
|||||||||||||||||
|
0 / 0 / 0
Регистрация: 03.09.2022
Сообщений: 69
|
|
| 07.03.2024, 20:28 [ТС] | |
|
Элд Хасп, о как даже... Но я решил сделать немножко по-другому и пока эта идея мне нравится. Но возникли вопросы по шаблону ScrollBar... Я добился нужного поведения, но остался ненужный функционал, который себя никак не проявляет.
А также хотел спросить, можно ли какие-то значения стилей, например, как цвет чего-то вложенного, вынести, как поле в элементе? Или прям в шаблоне свойств использовать привязку? Или это потребует расширение разметки через C#? Да, я скрыл ScrollBar, до тех пор, пока он мне не понадобится
0
|
|
|
Модератор
|
||
| 07.03.2024, 20:35 | ||
|
Но для это придётся создавать или CustomControl или AP-свойства. Более типовой подход это использование ресурсных ключей и динамическа привязка к ним. Пример с объяснением можете посмотреть здесь: Изменение цветов состояний контролов, отличных от нормального [WPF, Элд Хасп]
0
|
||
|
0 / 0 / 0
Регистрация: 03.09.2022
Сообщений: 69
|
||||||
| 07.03.2024, 20:41 [ТС] | ||||||
|
Элд Хасп, хорошо, как детально возникнет потребность, сделаю это, а пока в некоторых местах HardCode с пометками (а то есть шанс потеряться надолго во view...)... Щас прикреплю шаблон ScrollBar. В нём необходимо было убрать кнопки в ScrollBar, но при этом, чтобы полоску можно было перетаскивать. Я поступил слишком прямо и просто сделал высоту строк, где кнопки равной нулю. В случае удаления кнопок, свойства перекидываются на Scroll по понятным причинам
0
|
||||||
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
||
| 07.03.2024, 20:57 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 03.09.2022
Сообщений: 69
|
|
| 07.03.2024, 21:07 [ТС] | |
|
xellan24rus, да, с одной стороны можно сделать и так, но... С другой стороны, может я и не прав, но мы в шаблоне стиля оставляем неиспользуемый функционал, скрываем проблему, и в случае использования более сложных элементов это может привести к неожиданному поведению программы
0
|
|
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
|
| 07.03.2024, 21:13 | |
|
Dmitry12329, смотреть надо по итогу, что и как работает. В зависимости от задачи элементы можно удалять, к примеру если они не несут логики. Также и кнопками ScrollBar если вы удалите их, вы не сломаете элемент, он будет работать также, только без кнопок.
Если объект не обязательная часть шаблона и вам он не нужен, то можно смело удалять.
0
|
|
| 07.03.2024, 21:13 | |
|
Вложенные коллекции и viewmodel Binding View к ViewModel LineGeometry + Model-View-ViewModel Определить View по типу ViewModel
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|