Hello,
I'm trying to put a list of recent items in the backstage, using the Office2013 theme.
The problem is, when the list is too long for the window, a vertical scroll bar is displayed to scroll all the backstage.It seems that the backstage is inside a ScrollViewer and so its size is infinite, so the ListBox containing the recent items has never a change to display its own scroll bar.
Is there something to do to avoid this problem?
Patrick
I'm trying to put a list of recent items in the backstage, using the Office2013 theme.
The problem is, when the list is too long for the window, a vertical scroll bar is displayed to scroll all the backstage.It seems that the backstage is inside a ScrollViewer and so its size is infinite, so the ListBox containing the recent items has never a change to display its own scroll bar.
Is there something to do to avoid this problem?
Patrick
3 Answers, 1 is accepted
0
Hello Patrick,
You are correct that there is a ScrollViewer in the default template of the RadRibbonBackstage which measures its children with Infinity height. However you could edit the default template of the RadRibbonBackstage and remove the ScrollViewer from the template. Please note that doing so if you place a large content it will appear clipped.
I have attached a sample project with the modified style for your convenience.
I hope this information helps
Kind regards,
Kiril Vandov
Telerik
You are correct that there is a ScrollViewer in the default template of the RadRibbonBackstage which measures its children with Infinity height. However you could edit the default template of the RadRibbonBackstage and remove the ScrollViewer from the template. Please note that doing so if you place a large content it will appear clipped.
I have attached a sample project with the modified style for your convenience.
I hope this information helps
Kind regards,
Kiril Vandov
Telerik
DevCraft Q1'14 is here! Watch the online conference to see how this release solves your top-5 .NET challenges. Watch on demand now.
0
Patrick
Top achievements
Rank 2
Iron
Iron
Iron
answered on 14 Mar 2014, 07:40 AM
Hi Kiril,
the answer is as usual: change the control template.
It's perhaps a solution for big teams where many persons are in charge of the design of the application, but when you're alone, you don't have the time to this.
Do you know that the change must be made each time a new version of the controls is out?
For each theme you use?
That you cannot use the internal builds, because you don't have the source code?
If I modify the template each time Telerik told me it's the solution, I will have to change about 10 templates each time, for 3 themes I currently use in different applications... That's too much work for a single person.
I don't search for the exact source file that contains the template, but it seems that the backstage has a single ScrollViewer for all its content. Wouldn't it possible to have two scroll viewers: one at the left for the headers and one at the right for the content?
The main problem with the current implementation is that when the content part is scrolled, the header part is also scrolled.
Patrick
the answer is as usual: change the control template.
It's perhaps a solution for big teams where many persons are in charge of the design of the application, but when you're alone, you don't have the time to this.
Do you know that the change must be made each time a new version of the controls is out?
For each theme you use?
That you cannot use the internal builds, because you don't have the source code?
If I modify the template each time Telerik told me it's the solution, I will have to change about 10 templates each time, for 3 themes I currently use in different applications... That's too much work for a single person.
I don't search for the exact source file that contains the template, but it seems that the backstage has a single ScrollViewer for all its content. Wouldn't it possible to have two scroll viewers: one at the left for the headers and one at the right for the content?
The main problem with the current implementation is that when the content part is scrolled, the header part is also scrolled.
Patrick
0
Hello Patrick,
The RadRibbonBackstage is designed to behave as close to the MS Office backstage as possible and that is why the behavior that you described (the content and the header parts scrolling together) was implemented. Therefore a single ScrollViewer wraps all elements in the default Template of the RadRibbonBackstage control.
As for your other question, once you have created your custom Template for the RadRibbonBackstage you do not need to change that template every time we have a new release, a change will be needed only if we introduce a breaking change. Such changes are very rare as we do our best to avoid forcing our customers to update their custom styles after an update. This is why I would recommend utilizing the implicit styling mechanism to apply styles for our components in your solution. If you add our ResourceDictionaries or the theme assemblies in your solution, you can create a custom style for the BackstageMenu and base it on the default RadRibbonBackstageStyle available within our style dictionaries. During an upgrade you can even update the Telerik ResourceDictionaries or the theme assemblies, but your custom style will not be overridden and will still be based on the latest default style.
Kind regards,
Kiril Vandov
Telerik
The RadRibbonBackstage is designed to behave as close to the MS Office backstage as possible and that is why the behavior that you described (the content and the header parts scrolling together) was implemented. Therefore a single ScrollViewer wraps all elements in the default Template of the RadRibbonBackstage control.
As for your other question, once you have created your custom Template for the RadRibbonBackstage you do not need to change that template every time we have a new release, a change will be needed only if we introduce a breaking change. Such changes are very rare as we do our best to avoid forcing our customers to update their custom styles after an update. This is why I would recommend utilizing the implicit styling mechanism to apply styles for our components in your solution. If you add our ResourceDictionaries or the theme assemblies in your solution, you can create a custom style for the BackstageMenu and base it on the default RadRibbonBackstageStyle available within our style dictionaries. During an upgrade you can even update the Telerik ResourceDictionaries or the theme assemblies, but your custom style will not be overridden and will still be based on the latest default style.
Kind regards,
Kiril Vandov
Telerik
DevCraft Q1'14 is here! Watch the online conference to see how this release solves your top-5 .NET challenges. Watch on demand now.