This is not a question, but a help for my future me!
When you load a layout your RadTitleElement miss events, you cannot directly set .Click event, for example, on the RadTitleElement object memory var.
You need to find out the element and set the event.
So the code below shows how to do it.
void LoadLayout(RadPanorama panorama, string userFileConfig)
{
panorama.LoadLayout(fileUserConfig);
Fire("radTileElement1").click += (ss,ee) => DoSomething();
Fire("myCustomElementName").click += DoSomething2();
//....
}
#if (DEBUG)
private string missingBlocks { get; set; } = "";
#endif
private RadTileElement Fire(string name)
{
for (var n = 0; n < radPanorama1.Groups.Count(); n++)
{
var grp = (TileGroupElement)radPanorama1.Groups[n];
foreach (RadTileElement item in grp.Items)
{
if (item.Name.IsEquals(name)) return item;
}
}
#if (DEBUG)
missingBlocks += ";" + name;
// This guide you if goes wrong any .Name property
System.Diagnostics.Debug.WriteLine(missingBlocks);
#endif
return new RadTileElement();
}
How use it?
Any were you like restore a layout:
LoadLayout(radPanorama1, mySavedLayoutFile);
#jefferson2020
Hello, Jeff,
Thank you for sharing this code snippet with the community!
When using saving/loading layout the panorama settings are preserved in an XML file so you can not access the RadTileElement directly. As you have already found out, it is necessary first to find the element, then subscribe to the event.
If you have any other questions or concerns do not hesitate to contact us.