|
Модератор
|
|||||||||||||||||||||||||||||||
Привязка DP-свойства UserControl к вложенному элементу13.04.2019, 12:03. Показов 6249. Ответов 25
Хотел реализовать одну задачу. Для реализации потребовалось создать привязку DP-свойства UserControl ко вложенному элементу.
До этого привязывал вложенный элемент к свойству UC - проблем не было. В данном случае привязка в элементе используется для другой зависимости (для связи с VM). Поэтому привязку надо создать у свойства UC. И тут я "впал в ступор". Как раньше делал не получается. В XAML это свойство на уровне UC не видно. Делаю привязку в коде - не работает. Чего-то не догоняю. Ниже пример. Привязку надо сделать от свойства Result UC к свойству TextBox.Text элемента "tbResult". В CB UC моя попытка (не рабочая) программного создания привязки. XAML
Кликните здесь для просмотра всего текста
Интерфейс ICalculator
Кликните здесь для просмотра всего текста
Кликните здесь для просмотра всего текста
Также если понадобится основное окно и VM Кликните здесь для просмотра всего текста
Окно
0
|
|||||||||||||||||||||||||||||||
| 13.04.2019, 12:03 | |
|
Ответы с готовыми решениями:
25
Сортировка массива по вложенному элементу Обращение к вложенному элементу span javascript доступ к вложенному в ListView элементу GridView |
|
Модератор
|
||
| 22.09.2025, 20:48 [ТС] | ||
|
Поэтому прямой ответ, только на этот вопрос. Например, есть UserControl подробно представляющий элемент коллекции - условно Person в коллекции People . В Окне есть два региона. В одном представление коллекции ListBox x:Name="lbox" ItemSource="{Binding People}". В другом этот UserControl PersonUC DataContext="{Binding SelectedItem, ElementName=lbox}".Получаем при выборе элемента в ListBox смену DataContext в UserControl.
0
|
||
|
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
|
||
| 22.09.2025, 21:31 | ||
![]() Добавлено через 14 минут а если в словарь ресурсов закинуть DataTemplates (для разных SelectedItem), то мы уже, наверно, не сможем менять DataContext?.. только форматирование и представление данных возможностями шире, чем стилями... Добавлено через 3 минуты а DP-свойства можно задать только UserControl?
0
|
||
|
Модератор
|
|||||||||||||
| 23.09.2025, 04:30 [ТС] | |||||||||||||
|
В UserControl желательно чтобы кроме XAML больше ничего не было. Например такой пример для первого сообщения в этой теме.
Сразу предупреждаю - пример не рабочий. Это просто демонстрация концепции. Конкретно в этом случае (который описывается в первом сообщении), сам подход к реализации задачи не верен. Внешнее свойство кастомного элемента (User Control или Custom Control - не важно), нельзя использовать для внутренней привязки, которая может повлиять на логику работы элемента - это не безопасно. Внешнюю привязку всегда можно изменить (намеренно или по незнанию) по месту использования элемента. Я уже не помню почему мне тогда понадобилась подобное. Но сейчас, при моем нынешнем опыте, эта идея звучит как-то очень криво.
0
|
|||||||||||||
|
Модератор
|
||||||||||||
| 23.09.2025, 20:44 [ТС] | ||||||||||||
|
В такой реализации, уже можно перенести привязку из кода в XAML
Вернее не "знания", а требования задаваемого базовым классом производному. Но проблема безопасности, когда свойство Result может быть перезадано по месту использования DPCalculatorUC, осталось.
0
|
||||||||||||
|
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
|
||
| 25.09.2025, 19:46 | ||
|
мне почему-то кажется, что это не проблема, а как раз и задумано было, чтобы можно было переназначать свойства в зависимости от нужного (например, цвет текста при value>1000, условно говоря) - вот и вынесли это DP в отдельный класс... а за пример реализации и использования в XAML - спасибо!.. ? только в каких случаях это DP подключают обычно?.. как по мне, так Styles и Templates и даже Converters - нормальные внутренние (для объекта) свойства, дальше которых уже и придумать нечего (с практической точки зрения) чтобы захотеть подключать из-вне класса ещё и DP за гранью всего, что можно задать и в объекте...
0
|
||
| 29.09.2025, 18:16 [ТС] | |||||||
0
|
|||||||
| 29.09.2025, 18:16 | |
|
Обращение к элементу в userControl
Внутренняя проверка свойства в UserControl UserControl и его публичные свойства Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
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. Добавляем их на. . .
|