Is there a possibility to make the drop-down-button in a segmented Toolbar Popupmenutool wider?
For some people its really hard to catch this arrow with the mouse if their eyes are not so young anymore?
TIA
J. Resperger
Hello,
Currently, there is no built-in way to specify the size of the PopupMenuTool's DropDownArrow. I would suggest that you Submit a feature request to Infragistics.
Normally, a creation filter could be used to resize UIElements. However, a creation filter to increase the DropDownArrow would be extremely complex (if not impossible), as the size of the tool would have to be increased to account for the new arrow size so the correct width would be calculated for the owning toolbar.
There is a possible "workaround" to achieve a size increase. This will only be viable if none of the Tools are using large images. The size of the Arrow is based on if the owner (i.e. toolbar) is displaying large or small tools. By default, a toolbar displays small tools. However, you can change the Settings.UseLargeImages to true for the owning Toolbar. (Or UseLargeImagesOnToolbar on the UltraToolbarsManager) This will force the Large tools to be displayed. This also increases the size of the DropDownArrow. You can now shrink the tools to the size of small tools by settings the UltraToolbarsManager's ImageSizeLarge to 16,16.
I hope this help.
Thanks,
Chris
Is there still no way to change the segmented drop down arrow to something a bit larger?
The workaround leads to very ugly arrows, but you can change them back to small icons which fit in better with the rest of the display.
After using the workaround, you can change the size of the arrow with DrawFilter. As a result, you will get small arrows on bigger buttons. You cannot simply use DrawFilter, because the size of clickable area will be too small.
This is the code you might use to increase the size of the clickable area and to readjust the size of the icon:
DrawPhase IUIElementDrawFilter.GetPhasesToFilter(ref UIElementDrawParams drawParams) { if (drawParams.Element is ArrowUIElement && drawParams.Element.Parent is PopupToolDropDownButtonUIElement) { return DrawPhase.BeforeDrawElement; } return DrawPhase.None; }
bool IUIElementDrawFilter.DrawElement(DrawPhase drawPhase, ref UIElementDrawParams drawParams) { if (drawParams.Element is ArrowUIElement) { var rect = drawParams.Element.Rect; drawParams.DrawArrowIndicator(ScrollButton.Down, rect, new Size(16, 16), UIElementButtonState.Indeterminate, false); return true; } return false; }
Best
P.