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;
}
}
If you add the RibbonView into the Content of a TabItem (or RadTabItem) and then remove it from the content, the RibbonView is still in the memory.
This happens because we subscribe to few events of the Parent window on Loaded and unsubscribe on Unloaded. However, because of the specific content loading behavior of TabControl, Loaded of the content (the RibbonView) is fired once and Unloaded only once.
To work this around, before removing the RibbonView from the TabItem, call its OnUnloaded event handler. To do this, you can use a reflection to get the handler and then invoke it.
var methodInfo = typeof(RadRibbonView).GetMethods(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).Where(m => m.Name == "OnUnloaded").First();
methodInfo.Invoke(ribbon, new object[2] { null, null });
Allow showing the Quick Access Toolbar (QAT) items in the customization drop down menu (the quick access menu). This is the menu that shows the "Minimize the Ribbon" and the "Show below the Ribbon" options.
The new feature should allow to display all items from the QAT in the drop down. Clicking an item from the drop down should show or hide it in the QAT.
The attached project shows one way to get this behavior with custom code.
Setting the LayoutMode to Simplified doesn't do anything in the RadRibbonTabs that are assigned to a RadRibbonContextualGroup.
To work this around, extract the "ContextualTabsTemplate" ControlTemplate and the following elements in the "RibbonScrollViewer".
<telerikRibbonViewPrimitives:RibbonScrollViewer x:Name="TabItemsScrollViewer">
<Grid>
<ItemsPresenter x:Name="PART_DefaultItemsPresenter" HorizontalAlignment="Left" />
<ItemsControl x:Name="PART_SimplifiedItemsControl" Visibility="Collapsed"
ItemsSource="{Binding SimplifiedItems, RelativeSource={RelativeSource TemplatedParent}}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<telerikRibbonViewPrimitives:RibbonGroupsPanel />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</Grid>
</telerikRibbonViewPrimitives:RibbonScrollViewer>
Then define the following DataTrigger in the ControlTemplate.Triggers collection:
<DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=telerikRibbonView:RadRibbonView}, Path=LayoutMode}" Value="Simplified">
<Setter TargetName="PART_SimplifiedItemsControl" Property="Visibility" Value="Visible"/>
<Setter TargetName="PART_DefaultItemsPresenter" Property="Visibility" Value="Collapsed"/>
</DataTrigger>
Then, assign the custom ControlTemplate via the Template property of RadRibbonTab.
<telerik:RadRibbonTab Template="{StaticResource CustomContextualRibbonTabTemplate}" />
Currently, the RadRibbonGallery control provides the PopupViewportHeight property that sets the Height property of the ScrollViewer, which hosts the RadGalleryItem instances when it is expanded.
We could introduce a property, for example, PopupViewportMaxHeight that will set the MaxHeight property of the ScrollViewer. This way, if the height gets higher than the value specified for this property, a vertical scrollbar should appear.
If a RibbonView with Backstage menu is hosted in a RibbonWindow and the window's MinWidth and MinHeight properties are applied, when the Backstage is opened the size restrictions are no longer respected.
The ScreenTip of the RadRibbonView throws an exception when added to a dynamically created element
When RadRibbonView is hosted in RadRibbonWindow and the window is moved partially outside of the visual area of the screen the tabs' minimized content is misplaced.
Implicit style doesn't apply on RadRibbonTabs which are added via PRISM. UPDATE: An implicit style can not be applied on derived controls as their TargetType is different than the one defined in the implicit style. Basically if you set the style implicitly, the style is applied only on the types that match the TargetType exactly and not on elements derived from the TargetType value. You can find more information on the topic in the remarks section of the Style property definition: http://msdn.microsoft.com/en-us/library/system.windows.style%28VS.95%29.aspx This is why in order to apply a Telerik predefined style on a UserControl deriving from RadRibbonTab, you need to add a Style targeting the UserControl type in the Resources of the application. It is best to define that style after merging the Telerik ResourseDictionaries so that you can base the UserControl Style on the predefined "RadRibbonTabStyle".
When the ItemTemplateSelector property is used the class which inherits the DataTemplateSelector is never called.