Sto usando una vista ad albero in c # e sto creando icone personalizzate per i nodi.
Diciamo che questa è la mia gerarchia con un nodo che soddisfa una certa condizione:
Root1
|_Ax
|_Bx1
|_Bx2
|_Cx1
|_Cx2(condition true)
|_Bx3
|_Bx4
|_Ay
|_By1
|_By2
|_Cy1
quando l'albero è collassato non so se un bambino interiore soddisfa quella particolare condizione quindi voglio visualizzare un'icona sul genitore non espanso più in alto.
Ad esempio diciamo che l'albero è completamente collassato Mi piacerebbe questo comportamento: 1) la prima radice sarà così:
Root1(!)
2) Espongo Root1 e vedo che c'è qualcosa che i bambini di Axe:
Root1
|_Ax(!)
|_Ay
3) Espongo Ax:
Root1
|_Ax
|_Bx1
|_Bx2(!)
|_Bx3
|_Bx4
|_Ay
4) Ultimo espongo Bx2 per trovare il nodo di destinazione Cx2:
Root1
|_Ax
|_Bx1
|_Bx2
|_Cx1
|_Cx2(condition true)
|_Bx3
|_Bx4
|_Ay
Il simbolo (!) viene visualizzato solo nell'elemento padre non espanso più in alto e scompare dopo l'espansione del nodo che indica un percorso per individuare il nodo di destinazione Cx2.
Ma vorrei qualche idea su come aggiungere l'indicatore del nodo (!) in modo efficiente.
Devo farlo in 2 passaggi - creazione di alberi - nodo espanso
Nel primo caso non appena creo il nodo Cx2 e noto che soddisfa quella particolare condizione, ho bisogno di mettere l'indicatore sul nodo genitore più in alto non espanso.
Nel secondo caso ho bisogno di cambiare dinamicamente la posizione dell'indicatore quando il nodo è espanso.
Qual è il modo più efficace per farlo?