| Status | ID | Priority | Type |
| Closed | 39565 | Major | Question |
| Profile | Reply |
KaleClient | How do I expand some arm items |
| User | Description | Posted On |
MariyaVoytovichAgent | Hello! I apologize for the delayed response. There is currently no easy way to expand a node in arm items. public partial class Test2WindowArmController : WindowController
{
public Test2WindowArmController()
{
InitializeComponent();
// Target required Windows (via the TargetXXX properties) and create their Actions.
}
protected override void OnActivated()
{
base.OnActivated();
// Perform various tasks depending on the target Window.
}
protected override void OnWindowChanging(Window window)
{
base.OnWindowChanging(window);
if (!window.IsMain) return;
this.Frame.TemplateChanged += Frame_TemplateChanged;
}
void Frame_TemplateChanged(object sender, EventArgs e)
{
if (this.Frame.Template == null) return;
bool supportArms = this.Frame.Template is ISupportArms;
this.Active["SupportArmsKey"] = supportArms;
if (supportArms)
{
var containers = this.Frame.Template.GetContainers();
var armsContainer = containers.FirstOrDefault(x => x.ContainerId == "Arms" && x is ArmItemsActionContainer);
if (armsContainer is ArmItemsActionContainer armItemsActionContainer)
{
var controls = armItemsActionContainer.Controls.Find("treeListItemsActionContainer", true);
if (!controls.Any())
armItemsActionContainer.ControlAdded += ArmItemsActionContainer_ControlAdded;
else
{
var treeListItemsActionContainer = controls.First();
}
}
}
}
private void ArmItemsActionContainer_ControlAdded(object sender, System.Windows.Forms.ControlEventArgs e)
{
(sender as ArmItemsActionContainer).ControlAdded -= ArmItemsActionContainer_ControlAdded;
TreeListArmsControl treeListArmsControl = e.Control as TreeListArmsControl;
if (treeListArmsControl == null) return;
var controls = treeListArmsControl.Controls.Find("treeList1", true);
if (controls.Any())
{
var treeListControl = controls.First();
if (treeListControl is TreeList treeList)
{
var expandNode = treeList.Nodes.FirstNode;
expandNode.Visible = false;
//expandNode.Expanded = true;
}
}
}
protected override void OnDeactivated()
{
this.Frame.TemplateChanged -= Frame_TemplateChanged;
// Unsubscribe from previously subscribed events and release other references and resources.
base.OnDeactivated();
}
}
You can search for a specific node in the tree list like this: treeList.FindNodeByFieldValue("ItemPath", itemPath)
itemPath - this is the full path to the Arm node in the model. Regards, |
Write US