|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
||||||||||||||||||||||||||
DependencyProperty как отображать изменения свойства во View27.01.2024, 19:27. Показов 6017. Ответов 84
У меня есть Custom Control
xaml
Я объявил событие NumericComboBoxSelectionChanged, при изменение SelectedValue меняется значение у свойства TimeType. У меня не получается сделать чтобы при изменение свойства TimeType из вне К примеру по нажатию кнопки изменить значение.
Заранее всем спасибо) Добавлено через 3 часа 38 минут Пока что ничего лучше не придумал. Как то так.
И изменил привязки чтобы работали на уровне родителя
0
|
||||||||||||||||||||||||||
| 27.01.2024, 19:27 | |
|
Ответы с готовыми решениями:
84
WPF MVVM View и ViewModel или UserControl и DependencyProperty Как в стилизованном селекте отображать изменения |
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
||||
| 04.02.2024, 00:31 [ТС] | ||||
|
0
|
||||
|
Модератор
|
||||||
| 04.02.2024, 10:35 | ||||||
|
xellan24rus, обратите внимание, я закомментировал в XAML шаблона некоторые строки.
Вроде без них всё осталось по прежнему. Поэтому не могу понять нужно ли снимать коммент с них, но для эксперимента сниму и исправлю с AP на DP свойства. Например, вот эти строки:
Так же раскрою по нормальному Шаблон NumericUpDownTime
0
|
||||||
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
|
| 04.02.2024, 10:53 [ТС] | |
|
Элд Хасп, я заметил это, сделал так для удобств переопределения, так как все свойства доступны сразу в шаблоне для изменений значений. К примеру такое есть в дефолтных шаблонах и в material design тоже такое встречал
0
|
|
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
||||||
| 04.02.2024, 14:37 [ТС] | ||||||
|
Элд Хасп, но и там и там по возможности идёт привязка TempelateBinging для привязанных свойств в Setter. Удобно тем что не нужно Path писать каждый раз, и при переопределение если путь не является dp свойством элемента, к примеру это Ap, тогда при переопределение шаблона будет удалён
Path и без явного указания его вручную, его не заставить работать. Если это именно так сделано. Пример
Но я решил эту проблему, и от части в setter писать путь, не плохая практика.
0
|
||||||
|
Модератор
|
||
| 04.02.2024, 14:45 | ||
|
xellan24rus, скинул фиксацию
Пример универсальной реализации для любых ед. измерения.Добавлено через 6 минут В текущей реализации NumericUpDown свойства из StyleDataHelper могут использовать и как DP и как AP свойства.По реализации это AP свойства. Но добавлена оболочка и переопределение, чтобы их можно было использовать и как DP свойства. Мой вопрос не с этим связан. А с тем, что есть эти сеттеры или нет - я не заметил разницы в визуализации. Если от них ничего не зависит, то зачем их добавлять?
1
|
||
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
||
| 04.02.2024, 14:49 [ТС] | ||
|
Там где они не нужны, сделал это с такой целью только.
0
|
||
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
|||||||
| 04.02.2024, 16:34 [ТС] | |||||||
|
Value удалил из xaml и задал в c# SelectedUnit указал так
0
|
|||||||
|
Модератор
|
||
| 04.02.2024, 19:58 | ||
|
Но это же мили. А добавляется значение "к истинному", то есть к метрам. Измени на более мелкие - единицы увидишь. Добавлено через 42 секунды Нужно переопределить команды.
0
|
||
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
||
| 04.02.2024, 20:00 [ТС] | ||
|
Элд Хасп, я проксирование на ap свойства изменю на днях.
0
|
||
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
||
| 04.02.2024, 20:05 [ТС] | ||
|
Оригинальное значение сбрасывается. Наверное всё такие лучше использовать оригинальное и выходное значение в разных свойствах
0
|
||
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
|
| 04.02.2024, 20:11 [ТС] | |
|
И в оригинальное значение из сохраненных данных проще подтянуть значение и сохраненный тип. А там уже выходное значение само изменится на нужное
Добавлено через 4 минуты Элд Хасп, при смене типа единиц измерения не до конца понял почему в метрах меняется значение по единице, а в остальных больше единцы истинное значение меняется. К примеру 100 у дюймов следующее истинное значение не 101 дюм, а 139, затем 178
0
|
|
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
|
| 04.02.2024, 20:23 [ТС] | |
|
0
|
|
|
Модератор
|
||
| 04.02.2024, 20:49 | ||
|
Переопределил.
Пока делал это ещё раз пришёл к мысли, что внедрение единиц измерения в этот контрол путает логику. Всё становится весьма неоднозначным. Добавлено через 1 минуту Но уже изменил это. Добавлено через 1 минуту 100 дюймов = 2,54 метра Плюс 1 метр получаем 3,54 м = 139 дюймов.
0
|
||
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
||||
| 04.02.2024, 21:00 [ТС] | ||||
|
Мили также больше 62 не ставятся. И кнопки на клавиатуре с колесиком мыши отвалились. Или переходить на виртуальные методы, которые в будущем можно будет переопределить. Но исходя из разных реализаций, всегда сводилось к тому что, пишешь свое. Только код заимствуешь из примеров. Так как чтобы для переопределения порой нужно менять всю логику
0
|
||||
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
|
| 04.02.2024, 21:32 [ТС] | |
|
Элд Хасп, спасибо огромное за помощь) Ответы в примерах я нашел, По свободнее стану закончу реализацию, в ветке код обновлю.
Если делать внедрение, то проще таким способом, но придётся писать свой словарь, свои расчеты, мне кажется все сводится к тому что проще скопировать реализацию, внести правки и будет новый контрол для своих нужд.
0
|
|
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
|
| 04.02.2024, 21:35 [ТС] | |
|
Элд Хасп, но я всё равно подумаю об вашей идее, постараюсь облегчить код и привести свой пример реализации. Суть я понял, в коде +\- разобрался, спасибо ещё раз)
0
|
|
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
||
| 06.02.2024, 01:29 [ТС] | ||
|
Элд Хасп, спасибо ещё раз) Вышло очень универсально и многозадачно)
Для DoubleTextBox вернул изначальную логику так как в примере она урезана была и SavePositionCursor перенес из OnPreviewKeyUp в RaiseCommand, так как потерялась возможность из положительного числа сделать отрицательное, так как при каждом нажатии курсор ворачивался на своё старое место. В своем решение разделил NumericUpDown от NumericUpDownTime там как за счёт DoubleTextBox наследование потеряло весь смысл) Ваше решение оформлю в отдельный элемент, так как его логика отличается от NumericUpDownTime и в плане использования для NumericUpDownTime внедрение единиц в готовый элемент немного усложняет простой вызов элемента. Спасибо ещё раз помощь)
0
|
||
| 06.02.2024, 01:29 | |
|
Помогаю со студенческими работами здесь
80
При помощи какого свойства можно располагать view-элементы над другими view-элементами?
Как сохранить изменения в бд после редактирования в View Динамически отображать свойства элементов Как сделать доступными для изменения свойства RuntimeBroker в ComponentServices? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
|
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
|
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика
Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
|
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации:
В классе Работник добавить:
накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни
коэффициентПрезентеизма — снижает продуктивность. . .
|
|
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день.
Для работы необходим браузер,. . .
|
Модель здравосохранения 16. Слишком хорошие и здоровые сотрудники уходят, недовольные зарплатой
anaschu 23.05.2026
Отладка увольнений и настройка производительности
Сегодня во второй половине дня разобрались с механикой увольнений и настроили коэффициент сложности заданий. Вот что было сделано.
. . .
|
Как я стал коммунистом))) Модель сохранения здоровья сотрудников, запись блога номер 15
anaschu 23.05.2026
Внезапно хорошее здоровье сотрудников не нужно капиталистам?))
|
Модель здравоСохранения 15. Как мы чинили AnyLogic модель рабочего коллектива: сочленение диаграммы состояний болезней и поломок в ресурспул
anaschu 23.05.2026
Как мы чинили AnyLogic модель рабочего коллектива
Сегодня разобрались с пятью багами, из-за которых модель либо падала с ошибкой, либо давала совершенно бессмысленные результаты. Каждый баг был. . .
|