Я делаю некоторую вводную работу в WPF (мой опыт почти исключительно веб-разработка), и я немного застрял в том, что кажется проблемой стиля с RadContextMenu.
XAML для меню достаточно прост:
<telerik:RadContextMenu.ContextMenu>
<telerik:RadContextMenu EventName="Click" ItemsSource="{Binding NewEntityMenuItems}" StaysOpen="False">
<telerik:RadContextMenu.ItemTemplate>
<DataTemplate>
<telerik:RadMenuItem Header="{Binding Text}" Command="{Binding MenuItemClickedCommand}" StaysOpenOnClick="False"></telerik:RadMenuItem>
</DataTemplate>
</telerik:RadContextMenu.ItemTemplate>
</telerik:RadContextMenu>
</telerik:RadContextMenu.ContextMenu>
Результат выполнения заканчивается следующим образом:
Как видите, при наведении курсора на элемент есть две выделенные области, одна внутри другой. Если я нажму «внешнюю область» для пункта меню, команда не будет вызвана, но меню исчезнет. Если я щелкну "внутреннюю область" (ту, что с текстом), команда вызывается, но меню не исчезает.
Почему существуют отдельные регионы? Могу ли я иметь только один регион, который занимает ширину меню? А что еще и закрывает меню при нажатии?