PLEASE can you remove the popups that appear in the Blend and Visual Studio designers when working on the RadRibbonView. These popups popup all the time, they cover the code, they cover the design workspace, in VS the switch from the code window to the designer window as soon as you click on portions of the code with no warning, then you can't get back to the code screen until you click away from the RibbonView. Its 'so' annoying - I've been editing in Notepad++ today because the RibbonView designer functionality makes Blend./VS is unusable. Also, the popups don't provide anything that you can't do in either code or the Blend interface. Wasted so much time today with this RibbonView. Declined: The RadRibbonView control exposes a design time logic to make our clients that uses only the designer to populate and operate with the RadRibbonView control. If you want to disable that functionality you need to simply delete the following binaries from you design folder, which is located in the same directory as the Telerik binaries: - Telerik.Windows.Controls.RibbonView.VisualStudio.Design - Telerik.Windows.Controls.RibbonView.VisualStudio.Design.4.0 - Telerik.Windows.Controls.RibbonView.Expression.Design - Telerik.Windows.Controls.RibbonView.Design.5.0 - Telerik.Windows.Controls.RibbonView.Design.4.0 Doing so you will remove the design time functionality of the RadRibbonView in all VisualStudios/Blend.
Reproduces with Q2 2015 binaries. Available in R2 2017 SP
The RadRibbonWindow titlebar is higher than expected when the Windows 11 theme is used.
A side effect of this is that the content overlaps the titlebar, when the content is not a RadRibbonView.
This reproduces when the Windows11 and Crystal themes are used. To reproduce it, the IsWindowsThemeEnabled property should be set to false in order for the Telerik theme to get applied to the window.
To work this around, you can use the visual tree helper methods in the Loaded event of RadRibbonWindow in order to get the corresponding visuals and change their size and offset.
private void RadRibbonWindow_Loaded(object sender, RoutedEventArgs e)
{
var windowDecoratorPanel = this.ChildrenOfType<Grid>().FirstOrDefault(x => x.Name == "MaximizeWindowDecorator");
var titleBarPanel = windowDecoratorPanel.FindChildByType<Grid>();
titleBarPanel.RowDefinitions[0].Height = new GridLength(30);
var clientArea = windowDecoratorPanel.ChildrenOfType<Border>().FirstOrDefault(x => x.Name == "PART_ClientAreaBorder");
clientArea.Margin = new Thickness(0);
}
NullReferenceException is thrown on start up of the application, when the IsMinimized property of RadRibbonView is set to True initially. For example, if you set it in XAML.
To work this around, set the IsMinimized property in the Loaded event handler of RadRibbonView.
private void RadRibbonView_Loaded(object sender, System.Windows.RoutedEventArgs e)
{
var ribbonView = (RadRibbonView)sender;
ribbonView.IsMinimized = true;
}
The ScreenTip no longer is displayed on mouse over of the owner element. This reproduces only if the element is hovered before the ScreenTips of the previously hovered element is closed. In other words this happens if the two elements that contain ScreenTips are overlapping are very close to one another and there is no space that allows closing the tooltip while moving the mouse.
To work this around, subscribe to the Opened event of the ScreenTip control and set its Visibility to Visible if the element was previously Collapsed.
<Window.Resources>
<Style TargetType="telerik:ScreenTip">
<EventSetter Event="Opened" Handler="ScreenTip_Opened" />
</Style>
</Window.Resources>
private void ScreenTip_Opened(object sender, RoutedEventArgs e)
{
var screenTip = (ScreenTip)sender;
if (screenTip.Visibility == Visibility.Collapsed)
{
screenTip.Visibility = Visibility.Visible;
}
}
The RibbonSplitButton can behave like a toggle button by setting its IsToggle property to True. When the button is hosted in ApplicationMenu its default template is changed with a special one that adjust the UI of the button to the ApplicationMenu design. However, the alternative template is missing the code that updates the UI of the button when the IsChecked property is True.
To work this around, you can edit the ControlTemplate of RadRibbonSplitButton. The template for the button when hosted in ApplicationMenu is using the following x:Key "ApplicationRibbonSplitButtonTemplate". You can apply the edited template through the Template property of RadRibbonSplitButton.
By default the drop down buttons (like RadRibbonDropDownButton and RadRibbonSplitButton are opening their drop down content on mouse enter, when hosted in ApplicationMenu. When a drop down of a button is opened and you hover another button, the currently opened drop down should get closed. But this doesn't happen when the ApplicationMenu is populated through its ItemsSource and the buttons are defined in the ItemTemplate.
To work this around avoid using ItemsSource and ItemTemplate. Instead add the buttons directly in the Items collection of ApplicationMenu.
Currently, the RadRibbonTab GetChildrenCore method doesn't create automation peers for the element in the ContentPresenter for the TabStripAdditionalContent.
At this point, you can enable this by creating a custom AutomationPeer that derives from RadGridViewAutomationPeer and override its GetChildrenCore() method. This way you can manually create the peer for the AdditionalTabStripContent. This idea is shown in the attached project.
The width of the popup element that shows the selected tab content when RadRibbonView is minimized is wrong in the following situation. A tab in the minimized ribbon is clicked to display its content, then the tab is clicked again. After that, the width of the ribbon is changed. At this point when you open the minimized content, the popup uses the previous size of the RadRibbonView control.
To work this around, you can manually update the MaxWidth of the popup content element on size changed.
public class CustomRibbonView : RadRibbonView
{
private ContentPresenter popupContent;
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
this.popupContent = this.GetTemplateChild("SelectedTabContentPopup") as ContentPresenter;
}
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo)
{
base.OnRenderSizeChanged(sizeInfo);
if (popupContent != null)
{
double popupContentPadding = 16;
popupContent.MaxWidth = this.ActualWidth - popupContentPadding;
}
}
}
This is reproducible only in the FluentTheme. Setting the RadCollapsiblePanel.SmallButtonsPerColumn to 3 does not make any difference. The workaround is to set a higher value for the ContentHeight property of RadRibbonView, for example 120px. The fix for this issue will be available with LIB (version 2018.3.1203) published on Monday, 3-rd December, 2018.