|
2 / 2 / 0
Регистрация: 13.05.2023
Сообщений: 42
|
|||||||||||
WPF Проблемы с анимацией RadioButton на главной форме с соблюдением MVVM21.05.2024, 16:46. Показов 3924. Ответов 43
На моей главной форме есть колонка с RadioButton и я хотел сделать так что бы по нажатию по разделу срабатывала анимация при которой справа на лево появлялся другой список RadioButton которые являются подразделом RadioButton который был нажат. Покажу на примере, как я пытался это реализовать
0
|
|||||||||||
| 21.05.2024, 16:46 | |
|
Ответы с готовыми решениями:
43
Как при нажатии radiobutton на форме 1 radiobutton на форме 2 активировался? Скрыть таблицу в MVVM по нажатию на RadioButton Как проверить, что RadioButton включен. MVVM |
|
2 / 2 / 0
Регистрация: 13.05.2023
Сообщений: 42
|
|
| 23.05.2024, 20:16 [ТС] | |
|
То что вы сделали выглядит хорошо но это не работает как я хотел бы. Я поместил видео в архив как это должно работать и выглядеть
0
|
|
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
|
| 23.05.2024, 20:19 | |
|
Danilg467, я показал пример с IsChecked свойством, я сделал по значению true. Вы можете сделать такой же контрол, но с обратной логикой. Для false.
1
|
|
|
2 / 2 / 0
Регистрация: 13.05.2023
Сообщений: 42
|
|
| 23.05.2024, 20:24 [ТС] | |
|
Спасибо большое за проделанную работу
0
|
|
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
|||
| 23.05.2024, 20:29 | |||
|
В целом пример с любой панелью, взять тот же ComboBox у него в роли кнопки выступает ToogleButton, в состояние Checked он отображает контент. У вас на видео так же, при клике раскрывается контент для RadioButton. В примере если обратите внимание то для IsCheked ничего не биндится. Также не пойму в чем смысл, если мы можем отображать в состояние Checked подгруппу, то зачем нужна обратная логика для состояние UnChecked? Это как минимум лишний код ради обратной логики. Вместо это если вам нужна под группа всегда переведите IsCheked в true. На команды это никак не повлияет Добавлено через 2 минуты
1
|
|||
|
2 / 2 / 0
Регистрация: 13.05.2023
Сообщений: 42
|
||||||||||||
| 24.05.2024, 18:52 [ТС] | ||||||||||||
|
Сначала приведу код который сделал Стиль
Помнишь я приводил ситуации работы так вот тут тоже самое мне нужно что бы после переключения по подразделам я нажимал на главную и значения подразделов IsChecked становились False а также что бы когда я переключался на другой основной RadioButton значение IsChecked подразделов становились так же False Поможешь с реализацией, пожалуйста
0
|
||||||||||||
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
||||||||
| 24.05.2024, 19:56 | ||||||||
|
должно быть
Над остальным, реализуемо. Скорее всего завтра сделаю.
0
|
||||||||
|
2 / 2 / 0
Регистрация: 13.05.2023
Сообщений: 42
|
||||||||||||||||
| 24.05.2024, 23:02 [ТС] | ||||||||||||||||
|
xellan24rus, Я внес правки но он теперь вовсе не отображается и я не понимаю почему
xellan24rus, еще интересно узнать как вы сделали RadioButtonCC.xaml и RadioButtonCC.xaml.cs ну типо как так что они вложены в друг друга, вы переделали UserControl просто я когда создаю CustomControl это представляет собой обычный класс со статическим конструктором
0
|
||||||||||||||||
|
2 / 2 / 0
Регистрация: 13.05.2023
Сообщений: 42
|
|
| 25.05.2024, 10:07 [ТС] | |
|
0
|
|
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
|||||
| 25.05.2024, 11:52 | |||||
|
А если создавать при помощи студии Custom Control то она сама создает Themes\Generic и xaml файл и cs файл. Но потом все переносить по папкам, пространства имен править. Нудно, поэтому создаю ручками, меньше заморочек. Добавлено через 1 минуту
1
|
|||||
|
2 / 2 / 0
Регистрация: 13.05.2023
Сообщений: 42
|
|
| 25.05.2024, 12:41 [ТС] | |
|
Да просто я невнимательный пересмотрел ваш пример и все получилось
0
|
|
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
|
| 25.05.2024, 12:53 | |
|
Danilg467, это нормально, у меня тоже такое бывает. Порой кучу времени потратишь потому что указал где то что то не то.
0
|
|
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
||||||||||||||||||
| 25.05.2024, 19:48 | ||||||||||||||||||
|
Можем сделать так
Добавлено через 28 минут Я разобрался с ситуациями нужными. Чуть позже напишу ответ.
1
|
||||||||||||||||||
|
Модератор
|
|||
| 25.05.2024, 23:58 | |||
[YOUTUBE]Id ролика[/YOUTUBE].Тогда ролик можно будет посмотреть без загрузки на комп. И честно говоря не понял зачем здесь RadioButton.На мой взгляд типичное иерархическое меню. Проще всего будет реализовать с помощью ListBox и Expander.
0
|
|||
|
2 / 2 / 0
Регистрация: 13.05.2023
Сообщений: 42
|
|
| 26.05.2024, 00:11 [ТС] | |
|
Элд Хасп, Учту в следующий раз извините.
Возможно проще, но я хотел бы именно такую реализацию Добавлено через 56 секунд xellan24rus, Спасибо большое за старания
0
|
|
|
2 / 2 / 0
Регистрация: 13.05.2023
Сообщений: 42
|
||
| 26.05.2024, 00:22 [ТС] | ||
|
Добавлено через 3 минуты xellan24rus, Да ваше решение помогло, жду продолжения. Еще раз спасибо вам за ваш труд!
1
|
||
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
||||||||||||||||||||||||||||||||
| 26.05.2024, 02:56 | ||||||||||||||||||||||||||||||||
Сообщение было отмечено Danilg467 как решение
РешениеТак как в выдающей панели может быть что, я использовал ap чтобы получить контроль над дочерними панелями всех элементов. В целом вижу это как единичная реализация. Её аналог это TreeView где может быть дерево из элементов. Но вопрос был о RadioButton, да и TreeView я плохо знаком, в реальном проекте не пользовался ни разу. Поэтому как то так =) Danilg467, добрался до ноута =) Для ваших ситуаций нужно управлять видимостью выпадающей панелью. Для этого нужно создать какое то свойство. В нашем случае я назвал его SubPanelVisibility. Полный код cs для CustomControl
Здесь я вынес анимацию SubPanelVisibility в отдельный BeginStoryboard чтобы оно не зависело от Storyboard.TargetName которое привязано выше к subContent
Полный код RadioButtonCC.xaml
Код хеллпера, код закомментирован.
Использование, задание для сброса IsChecked при изменение родительского IsCheked ResetChildIsChecked и RadioButtonCCHideClick для обработки клика по элементу.
Исходник Danilg467RadioButtonCC.rar
0
|
||||||||||||||||||||||||||||||||
|
Модератор
|
||||
| 26.05.2024, 09:07 | ||||
|
В WPF элементы выбираются по ПОВЕДЕНИЮ. Это один из камней базового фундамента WPF. Это одна из причин разделения всех элементов на две части: Custom Control - код Шарпа с поведением, и Базовый Стиль (Шаблон элемента) - XAML в теме подключаемый автоматичиски. Для кнопки (ButtonBase) - одно из поведений это поднятие Click в элементе по MouseLeftButtonDown/Up. В них даже события MouseLeftButton из-за этого не всплывают. Click в кнопке возникает при нажатии на любой элемент входящий в состав кнопки. А вашей реализации, все разворачивающиеся элементы, входят в состав кнопки. Поэтому клик на на них, по поведению - это и клик на самой кнопке родителе. Придумывать дикие костыли, для того чтобы изменить базовое поведение, ну как бы это "выстрел себе в ногу".Добавлено через 9 минут Удалили его что ли?
0
|
||||
|
2 / 2 / 0
Регистрация: 13.05.2023
Сообщений: 42
|
||
| 26.05.2024, 09:49 [ТС] | ||
|
xellan24rus, Чувак ты реально гений. Это работает, я очень тебе благодарен за помощь. Но я так понял что не получается сменить значение главной на IsChecked false при переключении на подраздел?
Добавлено через 6 минут
0
|
||
|
364 / 296 / 55
Регистрация: 08.04.2020
Сообщений: 1,175
|
|||||
| 26.05.2024, 16:35 | |||||
|
Выходит что легче всего унаследовать ListBox для подобного и при IsSelected - false убирать видимость у панельки, и также переводить IsChecKed в false. Тем самым только контент можно будет размещать, доступа из вне к Radio Button не будет который является под элементами. Для массового использования это не удобно, так как под массовым использованием писать самому ap такое себе, хотелось бы использовать готовое из под коробки сразу. И все таки почему реализация должна быть только на Radio Button? Зачем вам нужен контроль и биндинг к IsSelected? Сделать я сделал, но не понял зачем такое использовать Для дашбоарда такое избыточно, а для какого то дерева элементов, может быть.
0
|
|||||
| 26.05.2024, 16:35 | |
|
Кнопка на первой форме и radiobutton на второй форме Проблемы с анимацией Проблемы с анимацией Проблемы с анимацией Проблемы с анимацией Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|