![]() |
Модераторы: gambit, Kefir, Partizan |
![]() ![]() ![]() |
|
hexzo |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
У меня есть:
стиль_с_шаблоном_для_RootDrive.
Группа кнопок берётся из соответствующего ресурса List<RootDrive> Интерпретирует экземпляр RootDrive как кнопку - стиль_с_шаблоном_для_кнопки. Мне нужно что-бы: При нажатии любая кнопка переключала все соседние кнопки в ненажатое визуальное состояние, а сама переключалась в нажатое и оставалась в нём. Как это решить наименее кровавым способом? Может можно как-нибудь визуальное состояние забиндить на что-нибудь, что бы я чего-нибудь изменил в связанном с кнопкой объекте и соответственно изменилось состояние кнопки? ![]() Это сообщение отредактировал(а) hexzo - 27.9.2011, 16:03 |
|||
|
||||
Hobotanius |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 24.7.2008 Репутация: нет Всего: нет |
Я решал похожую задачу, делал подобие панели задачь, делал через события окон связанных с кнопками. Думаю что сделал не не идиально поэтому своё решение не предлагаю. Однако, я использовал не Button, а ToggleButton. Этот вид кнопки вжимается и остаётся вжатым пока не жмякнешь повторно. Кнопка эта определена в пространстве имён - System.Windows.Controls.Primitives.
|
|||
|
||||
Gvozdin |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 9.8.2011 Где: Москва Репутация: 8 Всего: 8 |
Действительно тут подойдет ToggleButton.
1. Если просто нужно дать возможность выбирать один элемент из списка, то это все уже есть и остается только настроить шаблоны отображения:
Тоесть если ListViewItem выбран то рисовать его как нажатую кнопку, если нет то как просто кнопку. 2. Сделать это в стиле MVVM. у RootDrive сделать признак IsSelected, который забайндить в шаблоне на ToggleButton.IsChecked. А уже управлять этим IsSelected програмно. Это сообщение отредактировал(а) Gvozdin - 27.9.2011, 22:32 --------------------
http://gvozdin.ru |
|||
|
||||
hexzo |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
Спасибо всем, короче я просто передаю в обработчике кнопки кнопку в связанный с ней ресурс. Всё остальное делается элементарно.
Говнокод:
P.S. У меня всё идёт к тому что из каждого экземпляра каждого объекта можно добраться до любого экземпляра любого объекта. Это нормально? Это сообщение отредактировал(а) hexzo - 28.9.2011, 08:46 |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |