Most controls that show a drop down capture the mouse to cancel the scrolling of any parent ScrollViewers while the drop down is opened. The ToolBar overflow items drop down doesn't prevent the scrolling in parent ScrollViewers (a ScrollViewer that wraps the content where the ToolBar is defined). In that case if the user scrolls the ScrollViewer while the overflow items are opened, the ToolBar control moves according to the new position, but the popup stays open at its original position.
The common behavior here is to prevent scrolling while the drop down is opened.
To work this around, you can subscribe to the MouseWheel event of RadToolBar and handle it in case the IsOverflowOpen property is True.
private void ToolBar_MouseWheel(object sender, MouseWheelEventArgs e)
{
var toolBar = (RadToolBar)sender;
if (toolBar.IsOverflowOpen)
{
e.Handled = true;
}
}
This is the most logged exception in my application and it looks like it's coming from RadToolBar: Specified element is already the logical child of another element. Disconnect it first.
Stacktrace:
Dear Support,
please add a property AutoCloseOverflowPanel (or similar) to RadToolBar that will cause the overflow panel to close automatically if the user moves the mouse outside of the overflow panel.
Rationale for this request: Consider a situation where RadComboBoxes or RadRibbonComboBoxes are used to modify the Font Familiy and the Font Size of text being entered. If the toolbar isn't given too much space, these controls will be placed on the overflow panel. If the user selects a new font and then wants to continue editing (using the new font)), at the moment he has to click somewhere outside the overflow panel. If he clicks inside the RadRichTextBox, he will most likely click in some area where he has already entered some text and the font family will be set to the font family of the text he clicked into.
For an example, please see my support request 1401504.
Kind Regards
Stephan Kühn
When the RadToolBar is collapsed through the OverFlow Popup, the popup remains open.
As a workaround the popup can be closed when the RadToolBar's Visibility is collapsed:
The button focus visual should not be displayed when you click on another button in the UI. Currently, because the toolbar has its own focus scope, it is possible to have the focus on the button and also on another UI element. This means that the button will have its focus visual shown. To work this around you can extract the Template of the RadButtonStyle from the Telerik.Windows.Themes.Fluent.xaml file and remove the General IsFoucused setters (MultiTrigger). Then you can apply the style using the style selector of the toolbar. For your convenience I prepared a small example showing this approach. I hope that helps. https://docs.telerik.com/devtools/wpf/styling-and-appearance/styling-apperance-editing-control-templates https://docs.telerik.com/devtools/wpf/controls/radtoolbar/styling-and-appearance/style-selector
workaround: for Material theme - add mat:MaterialAssist.FocusBrush = "{x:Null}" to the control instances you would like for the rest of the themes: either set Focusable = "False" or retemplate and remove the focus in the StyleSelector of the RadToolbar
This is reproducible also with the Green theme. As a workaround you can extract the RadToolBar ControlTemplate and modify the column/row definitions of the root Grid element. (http://docs.telerik.com/devtools/wpf/styling-and-appearance/styling-apperance-editing-control-templates) This is for vertical orientation: <Grid.ColumnDefinitions> <ColumnDefinition x:Name="c0" Width="Auto"/> <ColumnDefinition x:Name="c1" Width="*"/> <ColumnDefinition x:Name="c2" Width="Auto"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition x:Name="r0" Height="Auto"/> <RowDefinition x:Name="r1" Height="*"/> <RowDefinition x:Name="r2" Height="Auto"/> </Grid.RowDefinitions> This is for horizontal orientation: <Grid.ColumnDefinitions> <ColumnDefinition x:Name="c0" Width="Auto"/> <ColumnDefinition x:Name="c1" Width="*"/> <ColumnDefinition x:Name="c2" Width="Auto"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition x:Name="r0" Height="*"/> <RowDefinition x:Name="r1" Height="Auto"/> <RowDefinition x:Name="r2" Height="Auto"/> </Grid.RowDefinitions>
The RadToolBar.OverflowMode attached property is not respected when set on an element in the ItemTemplate of RadToolBar.
When the Orientation of the ToolBar is Vertical, in Windows8Touch theme the control is not sized properly. Available in LIB version: 2014.3.1326
Allow the RadToolBar to apply locally set Styles to its elements even if they have predefined styles in the ContainerStyleSelector.
When you are binding ItemSource to collection, the Height of RadToolbarTray becomes equals null so it's not visible. Can you fix it please?
There is a ContextMenu inside DropDownContent of a DropDownButton which is in the OverflowPopup. Closing the menu does not close the overflow area of the toolbar. And this i by desing, context menu is not responsible for closing all popups up above it. RadToolBar can handle this scenario with subscribing to ContextMenu events.
Once the Windows8Touch theme is selected changing the theme to anyone else makes the Toolbar in the selected theme to look large like in Windows8Touch theme
Allow CloseOnEscape feature for RadDropDownButtons and RadSplitButtons in the RadToolBar
Buttons in the OverFlowButtons have CheckBoxes indicating whether the Buttons are added or removed from the Toolbar.
Ability to stretch / fill the controls in the toolbar when resizing needed. Currently, the controls are placed in the overflow immendiately when there is no space for them. The controls do not stretch when the toolbar is stretched.