MenuItem IsChecked из xaml

есть ли способ сгруппировать мои MenuItems, чтобы, когда для одного установлено значение IsCheck, предыдущий не проверялся? Мне нужен один пункт меню IsChecked.

Есть идеи ?


person Pacman    schedule 10.03.2011    source источник


Ответы (2)


Похоже, что для этой же проблемы уже есть решение на форумы MSDN.

person Kyrylo M    schedule 10.03.2011
comment
Я нет. конечно, это то, что я ищу, все, что мне нужно, это простое меню с одной проверкой (в отличие от меню с множественным выбором). Я использую mvvm, и у меня есть команда для каждого пункта меню, но я хотел бы контролировать выбор проверки в xaml. - person Pacman; 10.03.2011

@archer - это обрабатывает только случай, когда пользователь щелкает элемент, если пользователь использует ярлык, клавишу доступа или перемещается с помощью клавиатуры, это приведет к более чем одному проверенному элементу.

Хорошим способом будет привязать свойство IsChecked MenuItems к вашей ViewModel (если вы используете что-то вроде MVVM) и обработать это поведение там.

Обработка события Checked, как и в примере, будет иметь дело с AccessKeys и навигацией с помощью клавиатуры, но не с сочетаниями клавиш. Конечно, если вы не используете команды, это будет нормально.

РЕДАКТИРОВАТЬ: код, с которым связан @archer, в порядке, Click будет вызван при вызове MenuItem, независимо от того, как это было сделано.

person kowd    schedule 10.03.2011