Add support for the RadRibbonBars to have their items merged while in MDI mode.
When Windows aero effects are enabled and the form width is being decreased, the title bar text appears over the title bar buttons and further more when continuing reducing the width of the form the buttons disappear and a small black rectangle is shown instead.
Add support for MDI list menu item.
Enable duplication of RadRibbonBar group's element.
add additional minimize options: - minimize to panel titles - minimize to panel buttons
Please refer to the attached sample project and follow the steps from the gif file.
You will notice that each time a random group displays only images (no text) when the groups don't fit in the ribbon's width.
Workaround:
public MDIForm()
{
InitializeComponent();
this.radRibbonBar1.RibbonBarElement.ItemVisiblityStateChanging += this.RibbonBarElement_ItemVisiblityStateChanging;
}
private void RibbonBarElement_ItemVisiblityStateChanging(object sender, ItemVisiblityStateChangingEventArgs args)
{
if (args.NextVisibilityState == ChunkVisibilityState.NoText)
{
args.Cancel = true;
}
}
To reproduce: please refer to the attached sample project and gif file. Workaround: this.radRibbonBar1.RibbonBarElement.ApplicationButtonElement.DropDownOpened+=ApplicationButtonElement_DropDownOpened; private void ApplicationButtonElement_DropDownOpened(object sender, EventArgs e) { foreach (RadItem item in this.radRibbonBar1.RibbonBarElement.ApplicationButtonElement.DropDownMenu.Items) { RadMenuItem menuItem = item as RadMenuItem; if (menuItem!=null) { menuItem.MinSize = new Size(item.Size.Width, 24); } } }
To reproduce: please run the attached sample project and follow the steps from the gif file. Workaround: close the popup before showing the message or the dialog: private void radButtonElement1_Click(object sender, EventArgs e) { if (!radRibbonBar1.Expanded) { this.radRibbonBar1.RibbonBarElement.Popup.ClosePopup(Telerik.WinControls.UI.RadPopupCloseReason.Mouse); } RadMessageBox.Show("Test"); }
To reproduce: - Add complex controls to the backstage pages (add at least 4 pages). - Change the pages at runtime. Workaround: Private Sub RadRibbonBarBackstageView1_BackstageViewOpening(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles RadRibbonBarBackstageView1.BackstageViewOpening BackstageViewPage1.Visible = True BackstageViewPage2.Visible = True BackstageViewPage3.Visible = True BackstageViewPage4.Visible = True End Sub
To reproduce: 1. Collapse the ribbon 2. Select the tab to show the popup 3. Type some text in the RadDropDownListElement 4. Press Escape, Enter, Backspace keys. You will notice that these keys are not handled by the drop down. However, the ribbon popup is closed and there is no way to handle these keys.
Use the attached project to reproduce. Workaround: private void RadForm1_SizeChanged(object sender, EventArgs e) { if (this.WindowState == FormWindowState.Normal) { this.SizeChanged -= RadForm1_SizeChanged; this.Size = new Size(this.Size.Width + 1, this.Size.Height + 1); this.Size = new Size(this.Size.Width - 1, this.Size.Height - 1); this.SizeChanged += RadForm1_SizeChanged; } }
To reproduce: - Set the Windows theme to Windows 7 Basic - Start a RadRibbonForm and maximize it Workaround: void Form1_Resize(object sender, System.EventArgs e) { if (this.WindowState == FormWindowState.Maximized) { this.RibbonBar.RibbonBarElement.IconPrimitive.Padding = new Padding(5, 5, 0, 0); } else { this.RibbonBar.RibbonBarElement.IconPrimitive.Padding = Padding.Empty; } }
How to reproduce: set a size in the designer, when the form loads its size will not be the same as the one set Workaround: set the size in the Load event of the ribbon form private void Form_Shown(object sender, EventArgs e) { this.Size = new Size(600, 600); }
The theme component is added to the form:
Here is the code:
Public Class RadRibbonForm1
Sub New()
InitializeComponent()
Me.AllowAero = False
End Sub
Private Sub RadButtonElement1_Click(sender As Object, e As EventArgs) Handles RadButtonElement1.Click
ThemeResolutionService.ApplicationThemeName = "Office2010Blue"
End Sub
End Class
In this case, the group is in collapsed mode. When we open its drop-down button to see the elements inside and afterward expand the form to see the whole group, the theme of the group is reset. Moving the mouse over the group will reset the theme.
The caption text of the RibbonBarGroups disappears when switching themes runtime. The important part is that this behavior is observable when switching from the Office2010Blue theme to other themes. In this specific theme, the FillPrimitive holding the TextPrimitive (caption text) has the PositionOffset property set to 0,-1. This minus one pixel is messing up the layout during theme change.
What can be done as a workaround is to reset this property for every group. When the Office2010Blue theme is applied run this code:
private void radButton1_Click(object sender, EventArgs e)
{
Office2010BlueTheme theme = new Office2010BlueTheme();
ThemeResolutionService.ApplicationThemeName = "Office2010Blue";
foreach (var item in this.ribbonTab1.Items)
{
if (item is RadRibbonBarGroup)
{
var group = item as RadRibbonBarGroup;
group.Children[1].Children[0].PositionOffset = new SizeF(0, 0);
}
}
}