Я хочу иметь в своем приложении контекстное меню «DefaultPrinter», в котором есть некоторые связанные дочерние элементы (другие MenuItems), представляющие имена принтеров. У каждого дочернего объекта свойство IsCheckable установлено значение true.Пункт меню только с одним зарегистрированным значением
<MenuItem Header="DefaultPrinter" ItemsSource="{Binding AllPrinters}">
<MenuItem.ItemContainerStyle>
<Style TargetType="{x:Type MenuItem}">
<Setter Property="IsCheckable" Value="True"/>
</Style>
</MenuItem.ItemContainerStyle>
</MenuItem>
Однако, конечно, я хочу разрешить проверку только одного принтера (этот код не поддерживает это). Я искал решение в Интернете, но не нашел ничего полезного. Проблема в том, что MenuItem
уходит от ItemsControl
, и с этого момента у него нет концепции выбора предметов (например, Selector
). Я могу попытаться написать свой собственный выбор, но сначала я хотел бы знать, есть ли лучшее и более простое решение для достижения этой цели.
Любая помощь будет оценена по достоинству.
Обратитесь к этому ответу http://stackoverflow.com/questions/14979753/how-do-you-add-radio-buttons-to-menu-items И http://stackoverflow.com/questions/3652688/mutually-exclusive-checkable-menu-items –