As a <role> I want <ability> so that <benefit>.
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;
}
}
The RadToolBar.OverflowMode attached property is not respected when set on an element in the ItemTemplate of RadToolBar.
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:
Add a possibility to bind the RadToolBarTray and generate RadToolBars. By design the RadToolBarTray is created more like a Panel, not like a typical ItemsControl.
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:
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
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
The overflow button should have an option to show only when it is needed.
RadTooBar holds a Button and it is shown in Contentframe. When shown the button is initially disabled. Clicking on other button makes the first button enabled. Possible workaround is to set FocusManager.IsFocusScope to False on the Toolbar.
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>
Buttons in the OverFlowButtons have CheckBoxes indicating whether the Buttons are added or removed from the Toolbar.
ToolBar Band and BandIndex properties are not applied when the control is set in a DataTemplate of a ToolBarTray
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.
Add global HotKeys support to allow hotkeys/shortcut keys to trigger the RadToolBar content elements.