Domanda

Ho un albero con vari elementi. Gli articoli sono disegnati in modo tale che la proprietà essoletta sia legata alla mia VM a un bool essoleto.

Ogni volta che faccio clic su un elemento di visualizzazione albero, questa proprietà VM viene chiamata due volte, prima con valore == false quindi con valore == true.

Presumo che si tratti di un comportamento normale, ma non sono sicuro del perché, dato che ho la proprietà espesa legata allo stesso modo, e viene chiamata solo una volta.

Grazie

È stato utile?

Soluzione

Sospetto che il motivo sia che quando si seleziona un elemento, prima è deselezionato il vecchio elemento, quindi il nuovo elemento è selezionato. Ciò si traduce in una prima chiamata di false e un secondo di vero.

Forse durante il debug, controlla un nome di visualizzazione o una proprietà simile sul modello di visualizzazione, per vedere quali elementi vengono modificati ogni volta, per vedere se questo è davvero così.

Allo stesso modo quando si espande un nodo, non è necessario crollare altri nodi. Pertanto, espande semplicemente il nodo che hai provato ad espandere (passando vero per ISExpanded).

Altri suggerimenti

La ragione di ciò sono eventi gorgoglianti.

Quando viene sollevato un evento, "bolle" fino a quando non è gestito.

È possibile convalidarlo selezionando un elemento di terzo livello.

Devi solo impostare e.Handled = true;

Ofir

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top