Hello,
we use the RadLayoutControl to allow the user to add new LayoutControlExpanderGroups at runtime and therefore change the structure of the view.
However all new LayoutControlExpanderGroups are labeled with "Expander Group".
The feature request ist to provide a way to change the header text. For example it would be nice if we can directly double click an item in the toolbox or select rename in a context menu and then rename the item directly in the toolbox (e.g. label control of the item changes to a textbox). This could be directly coupled to the selected control.
Another possibility might be some icon appearing next to the selected LayoutControlExpanderGroup, allowing the user to WYSIWYG edit the headers text.
Renaming a ExpanderGroup should preserve the expander groups nested ui structure of course.
Best regards!
Related support ticket: https://www.telerik.com/account/support-tickets/view-ticket/1380374
Properties bound with UpdateSourceTrigger=LostFocus in the content of LayoutControlTabGroupItem are not updated when changing the selected tab. The LostFocus event is fired after the data context of the corresponding element is removed and the issue appears.
To work this around subscribe to the PreviewMouseLeftButtonDown event of LayoutControlTabGroup and Focus the pressed tab (the new selection).
private void LayoutControlTabGroup_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
var tabContainers = this.layoutTabGroup.ChildrenOfType<LayoutControlTabGroupItem>();
var tabUndersMouse = tabContainers.FirstOrDefault(x => x.IsMouseOver);
if (tabUndersMouse != null)
{
tabUndersMouse.Focus();
}
}
KeyNotFoundException is thrown when the LayoutControl is deserialized and the serialization string contains a LayoutControlTabGroupItem.
You can try to work this around by using the RadPersistenceFramework.
Create an ExpanderStyle property which allows you to customize the LayoutControlExpanderGroup header.
When the tabs summary width is bigger than the group's width show a scrollbar and allow scrolling the tabs.
Currently, on drag/drop of the layout the RadLayoutControl is creating new LayoutControlGroup when needed. This happens in a private static method and the developer doesn't have access to this operation.
Add a virtual method that allows you to override the creation of the LayoutControlGroup. This way a custom LayoutControlGroup implementation can be provided or the group created by default can be adjusted manually.
FlowDocument (or other non-FrameworkElement) is used in LayoutControl. When you move the mouse over the control - InvalidCastException is thrown. You can test also with MS RichTextBox. Available in R2 2017 Release
Multiple LayoutControl instances with LayoutControlToolBox share single ToolBoxView instance. This makes the ToolBoxView useless because it indicates wrong structure of foreign LayoutControl. Workaround is to instantiate the ToolBoxViews manually: <telerik:RadLayoutControl.AdditionalCanvasItems> <telerik:LayoutControlToolBox LayoutControl="{Binding ElementName=layoutControl4}" > <telerik:LayoutControlToolBox.ToolBoxView> <telerik:LayoutControlToolBoxView /> </telerik:LayoutControlToolBox.ToolBoxView> </telerik:LayoutControlToolBox> </telerik:RadLayoutControl.AdditionalCanvasItems> By default they are instantiated internally.
LayoutControl with at least one child - for example a button. Show such LayoutControl in usercontrol, then unload it from visual tree. Try Forcing GC.Collect() Observation: LayoutControl stays in memory. Expected: LayoutControl should not stay in memory.