Hello, I have a XamComboEditor that I want to have display a custom Context menu when it is right clicked. Create ContextMenu resource, set contextMenu Property - everything is fine...
UNTIL you set the XamComboEditor IsEditable property = true!!!!
with IsEditable = true, the custom menu only appears when the Drop Down arrow or the dropdown items are right clicked. If you right click in the text area - it displays the basic editing context menu (Cut, Copy, Paste)
How do i get the custom menu to appear all the time on a right click when iseditable = true!!!!!
thanks
Rod
<ContextMenu x:Key="PrmXContextMenu" > <MenuItem Header="Cut" /> <MenuItem Header="Copy" /> <MenuItem Header="Paste" /> <Separator/> <MenuItem Header="Add Record" /> <MenuItem Header="Insert Record" /> <MenuItem Header="Delete Record" /> <MenuItem Header="Move Record" > <MenuItem Header="Move Record Up" /> <MenuItem Header="Move Record Down" /> </MenuItem ></ContextMenu>
<igEditors:XamComboEditor x:Name="ddDoWhat" Margin="5,0,3,3" ContextMenu="{StaticResource PrmXContextMenu}" IsEditable="True" > <igEditors:XamComboEditor.ItemsProvider> <igEditors:ComboBoxItemsProvider > <igEditors:ComboBoxItemsProvider.Items> <igEditors:ComboBoxDataItem DisplayText="Replace (1)" Value="1"/> <igEditors:ComboBoxDataItem DisplayText="Add (0)" Value="0"/> </igEditors:ComboBoxItemsProvider.Items> </igEditors:ComboBoxItemsProvider> </igEditors:XamComboEditor.ItemsProvider></igEditors:XamComboEditor>
While in edit mode the xamComboEditor uses a ComboBox. The ComboBox's default template contains a TextBox. When you right click on a TextBox, it will show its edit context menu if its ContentMenu property is not set. I think the only way to prevent this would be to retemplate the ComboBox within the xamComboEditor (i.e. define a Style for ComboBox and set that as the ComboBoxStyle property of the xamComboEditor). In that Style define a setter that binds the ContextMenu property to that of the containing xamComboEditor and a setter for the combobox's Template property. Within that template, bind the ContextMenu of the TextBox to that of the templateparent. I noticed that the WPF ComboBox suffers from the same issue. I'm going to submit an issue for this as well so we can see about incorporating this into our default templates.
Has any progress been made on this issue? We have a few older applications where this is a issue for our users.
Hello Rod,
The issue that occures before is now fixed in our latest and supported version, so now the once you set the ContextMenu to the XamComboEditor it is aways the same no matter whether it is in edit mode or not.