|
215 / 149 / 48
Регистрация: 28.12.2016
Сообщений: 716
|
|||||||||||||||||||||||||||||||
WPF DP UserControl внутри UserControl MVVM03.08.2019, 06:00. Показов 2831. Ответов 6
Метки нет (Все метки)
Есть UC c DP Text
А как быть, если этот UC нужно поместить внутрь другого UC, дублировать DP? Так? UC который содержит UC, который выше
Можно каким-то образом не дублировать DP UserControlA в UserControlMany? Добавлено через 6 минут Как-то так можно? Или дублировать обязательно?
0
|
|||||||||||||||||||||||||||||||
| 03.08.2019, 06:00 | |
|
Ответы с готовыми решениями:
6
WPF MVVM View и ViewModel или UserControl и DependencyProperty
|
|
Модератор
|
||||||||
| 03.08.2019, 10:55 | ||||||||
|
А то что вы описываете это просто создание экземпляра одного класса в другом классе. Скорее всего вам нужно наследование одного UC от другого. Но это лучше делать без XAML - полностью на C#. Добавлено через 22 минуты UserControlA
UserControlA так чтобы в его Grid можно было добавлять элементы из XAML. Надо в целом продумать что нужно в конечной реализации.
0
|
||||||||
|
215 / 149 / 48
Регистрация: 28.12.2016
Сообщений: 716
|
|||||||||||||||||||||
| 03.08.2019, 12:22 [ТС] | |||||||||||||||||||||
|
Элд Хасп, вы меня не так поняли. Есть UserControl ( A ) с DP, к примеру как выше Text. И есть UserControl (Main) который вмещает в себя 2 UC (A). UC (Main) кидается на форму и чтобы иметь возможность привязать, нужно в UC (Main) дублировать DP для UserControl A
этот UserControl мы кидаем на другой UserControl
0
|
|||||||||||||||||||||
|
215 / 149 / 48
Регистрация: 28.12.2016
Сообщений: 716
|
|
| 03.08.2019, 12:27 [ТС] | |
|
Точнее не дублирование, а прослойка.
Просто меня смущает этот момент с прослойкой, а если такая матрешка из 5 UserControl'ов, получается нужно в каждом слою пробрасывать новое DP. Я хочу понять, нормально ли это для WPF или нет.
0
|
|
|
1595 / 600 / 185
Регистрация: 05.12.2015
Сообщений: 970
|
|
| 03.08.2019, 12:57 | |
|
Без практического примера такое обсуждение - ни о чем.
0
|
|
|
215 / 149 / 48
Регистрация: 28.12.2016
Сообщений: 716
|
|
| 03.08.2019, 13:21 [ТС] | |
|
proa33, всмысле? Выше полный код юзер контрола который кидается на форму и который внутри этого UC. Я не все тонкости знаю, но мне видится бредово пробрасывать DP одного UC в другой, при том что не просто пробросить, а прям заного регистрировать. Хочу понять, есть ли другой путь или только так поступать.
0
|
|
|
Модератор
|
||
| 03.08.2019, 15:42 | ||
Сообщение было отмечено Defences как решение
РешениеUC это такой же контрол как и, допустим, TextBlock.Вас же не смущает, что для биндинга внутреннего TextBlock в UserControlA вам приходится объявлять в UserControlA DP-свойство.По отношению к UserControlMany UserControlA такой же внутренний контрол. И если надо "вытащить" его свойство наружу, то так же как и с TextBlock надо объявлять DP-свойство.Другое, дело что возможно для вашей задачи существует другой путь решения. Как уже написал proa33 - Без практического примера такое обсуждение - ни о чем.Вы в ответ описываете какие вам нужны инструменты для выбранного вами пути решения. А речь идёт о другом опишите свою задачу в целом, что вы хотите реализовать и, возможно, для реализации можно будет выбрать другой путь и другие инструменты. Добавлено через 11 минут Почему я выше писал, что для решения вашей задачи (в том виде каком вы её представили) нужно создание UC в C#. Можно объявить вложенный контрол публичным. Но это будет публичное ПОЛЕ. А в XAML к полям обращаться невозможно. Так же в XAML невозможно задать значения СЛОЖНОМУ СВОЙСТВУ. Допустим, вы смогли сделать внутренний контрол свойством. У этого свойства будут свои вложенные свойства - одно из них Text. Так вот объявить привязку к свойству свойства или задать ему значение в XAML невозможно. На C# это без проблем. В том числе, через рефлексию можно "достучаться" и до защищенных свойств.
1
|
||
| 03.08.2019, 15:42 | |
|
Помогаю со студенческими работами здесь
7
Управление usercontrol из другого usercontrol Slider внутри UserControl
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|