Espandere WPF Expander per visualizzare gli elementi contenuti
Domanda
Ho un espansore che ha n elementi contenuti (possibilmente altri espansori che contengono anche elementi).
Ora voglio visualizzare a livello di codice un elemento contenuto - come con BringIntoView () per ScrollViewers. Tutti gli espansori che attualmente nascondono l'elemento dovrebbero espandersi.
La mia idea attuale è quella di sottoclassare l'Espander e farlo reagire a un evento che fuoriesce dall'elemento contenuto. Ma potrebbe esserci un modo molto più semplice in WPF, giusto?
Soluzione
È possibile creare una proprietà collegata per farlo invece di sottoclassare la classe Expander esistente. Questo AP sarebbe di tipo bool e quando impostato su True su un registro di espansione per l'evento espanso. Nel gestore dell'evento, puoi camminare sull'albero logico per afferrare l'espansore principale e toogle è la proprietà IsExpanded.