[Frage] Visibility von Expander

Schlagworte:
  • Allplan 2025 WIP

Hallo zusammen,

ist es möglich die Visibility von Expander auch zur Laufzeit über ein script-object im Python-Script zu ändern. Ich möchte sobald ein bestimmtes Event auftritt den nächsten Expander anzeigen. Dieser wird beim Starten des Programms mit Visibility=False initialisiert. Für die meisten UI-Elemente scheint dies kein Problem zu sein, beim Expander bekommen ich jedoch einen Key-Error beim Zugriff auf das Feld.

Vielleicht hatte schon jemand einen ähnlichen Fall oder Erfahrung?

Viele Grüße,
Bastian

<Parameter>
<Name>Expander01</Name>
<Test>Test</Text>
<ValueType>Expander</ValueType>
<Visible>expander_vis=True</Visible>

...

</Parameter>

Den Expander(-Parameter) selber kann man im Python-Script nicht aufrufen.
Z.b. geht das NCHT:

build_ele.Expander01.Visible = True

Bei anderen Controls funktioniert es so, dass man in der Pyp-Datei die Sichtbarkeit
an einen Parameter koppeln kann. Z.b an "ctrl_vis" (siehe oben),
wobei expander_vis dann ein Parameter ist:

<Name>__HiddenPage__</Name>
<Parameter>
<Name>expander_vis</Name>
<Value>False</Value>
<ValueType>CheckBox</ValueType>
</Parameter>
</Page>

Wichtig: Wenn man den Parameter-Wert ändert, z.B. durch

build_ele.expander_vis.value=True

sollte man das in

def modify_element_property(build_ele: BuildingElement,
                            name: str,
                            value: Any):

tun, und

return True

zurückgeben, damit die Palette aktualisiert wird.
Wenn man das "woanders" machen möchte, müßte man

self.palette_service.update_palette(-1, False/True)

aufrufen.

Prinzipiell sollte das auch bei dem Control Expander funktionieren.

Edit: Ich habe es getestet, und es funktioniert auch mit dem Expander (s.ColumnExpander.mp4)
Dazu habe ich die Column1.pyp aus den ContentExamples etwas modifiziert. (s.column1.zip)

Anhänge (2)

Typ: video/mp4
35-mal heruntergeladen
Größe: 1,19 MiB
Typ: application/zip
25-mal heruntergeladen
Größe: 568,00 B