The popup is no properly sized when you have two or more monitors with different resolutions. This is replicable also if the DPI is higher than 100%. To work this around you can create a custom ribbonview, get the content presenter of the popup and manually set its Width. Here is an example in code: public class CustomRibbonView : RadRibbonView { private ContentPresenter selectedTabContentPopup; public override void OnApplyTemplate() { base.OnApplyTemplate(); this.selectedTabContentPopup = this.GetTemplateChild("SelectedTabContentPopup") as ContentPresenter; } protected override void OnMinimizedPopupStateChanged(RadRoutedEventArgs e) { base.OnMinimizedPopupStateChanged(e); if (this.IsMinimizedPopupOpen) { this.selectedTabContentPopup.Width = this.ActualWidth; } } }
Currently, the minimized content of the ribbon opens up in a Popup element which leads to issues when positioned between two (or more) monitors. Introduce a feature that allows the content to opens in an Adorner element.
Output error in VS: System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='Telerik.Windows.Controls.RadRibbonView', AncestorLevel='1''. BindingExpression:Path=IsHostedInRibbonWindow; DataItem=null; target element is 'WindowTitle' (Name='WindowTitle'); target property is 'NoTarget' (type 'Object')
This reproduces only if RadRibbonWindow is used with the default WPF Window's theme, instead of the Telerik's theme. Also, this reproduces only in the themes after Expression_Dark (starting from Windows8). You can find a list of the Telerik themes ordered chronologically in the help documentation.
If the RadRibbonWindow is maximized on the second (right) monitor and you click the application menu button to open the ApplicationMenu, the menu displays on the first (left) monitor.
To work this around enable the Telerik's RadRibbonWindow theming by setting the IsWindowsThemeEnabled static property to False.
static MainWindow()
{
IsWindowsThemeEnabled = false;
}
The window's content gets clipped when the window goes from Maximized to Normal WindowState. This reproduces only when the window and the screens are using specific sizes. The setup when this was reproduced was with a 1936x1056 size of RadRibbonWindow (in Normal state) and 1920x1080 screen resolution.
To reproduce this the IsWindowsThemeEnabled property of the RadRibbonWindow should be set to False.
To work this around, reset the Window size on WindowStateChanged.
private void MainWindow_StateChanged(object sender, EventArgs e)
{
if (this.WindowState == WindowState.Normal)
{
Width += 1;
Width -= 1;
}
}
The content of RadBackstageItem is not stretched within the available area in the content area of the RadRibbonBackstage control. There is a gap between the title bar of the RadRibbonView control and the top border of the content area.
This reproduces with the Material theme, but it is possible to appear also in other themes.
To work this around, you can extract the ControlTemplate of RadRibbonBackstage and re-order the layout in order to stretch the content in all the available space. Check the attached project.
Setting the KeyTipService.AltAccessText attached property on a RadRibbonGroup element should display a keytip on the dialog launcher of the group, when the keytips are activated.
Currently, if the group is collapsed, you can expand it using its AccessText. However, in this case the keytip of the dialog launcher is not displayed.
To work this around, subscribe to the Loaded event of RadRibbonGroup and set the KeyyTipService.AccessText property directly to the RadRibbonButton representing the dialog launcher.
private void RadRibbonGroup_Loaded(object sender, RoutedEventArgs e)
{
var group = (RadRibbonGroup)sender;
var button = group.ChildrenOfType<RadRibbonButton>().FirstOrDefault(x => x.Name == "DialogLauncher");
if (button != null)
{
KeyTipService.SetAccessText(button, "D");
}
}
Workaround: In the Loaded event of the RibbonWindow, use the Telerik.Windows.Controls.RibbonView.Shell.WindowChrome class to get the current window and set its ResizeBorderThickness property to 0. public MainWindow() { InitializeComponent(); this.Loaded += MainWindow_Loaded; } void MainWindow_Loaded(object sender, RoutedEventArgs e) { Telerik.Windows.Controls.RibbonView.Shell.WindowChrome chome = Telerik.Windows.Controls.RibbonView.Shell.WindowChrome.GetWindowChrome(this); chome.ResizeBorderThickness = new Thickness(0); }
RadRibbonDropDownButton DropDownIndicator isn't rotated when the DropDownButtonPosition is Right and the DropDownPlacement is Right
To reproduce this:
To work this around, avoid setting the IsAutoSize property. Or use smaller pictures - 16 or 32 pixels.