Come posso fermare un TreeViewItem dal fireing l'evento selezionato per se stesso, e il suo genitore?

StackOverflow https://stackoverflow.com/questions/1833052

Domanda

Ho un TreeViewItem che quando Selected, calles un metodo. Tuttavia, mi sto trovando che quando l'evento Selected viene chiamato, l'evento Selected per la TreeViewItem genitore sembra anche di essere chiamato.

Vorrei davvero piuttosto che non accada, ma non sono stato in grado di trovare alcuna documentazione raccontare la mia perché questo sta accadendo in primo luogo.

Qualcuno mi potrebbe illuminare sul motivo per cui questo sta accadendo per cominciare, e forse come fermarlo.

Sono aperto a diversi oggetti, invece di un TreeViewItem, ma ho bisogno di mantenere l'indicazione visiva di selezione.

Grazie!

PS:. Si tratta di un frammento di ciò che ho

 <TreeViewItem IsExpanded="True" IsSelected="False"  Selected="Fire_MaxCustomer_Selected_Event">
                        <TreeViewItem.Header>
                            <TextBlock Text="{Binding Path=DisplayName}" />
                        </TreeViewItem.Header>
                        <TreeViewItem.Items>
                            <TreeViewItem Header="Orders &amp; Credits" Selected="Fire_Orders_Credits_Event" />
È stato utile?

Soluzione

Non sono in grado di selezionare nulla sulla base del frammento che hai fornito. Sei consapevole del fatto che gli eventi di WPF vengono instradati? Selezionato è un evento di bubbling che sarà bolla op albero visuale e può essere consumato molte volte. È possibile evitare questo impostando e.Handled true nel EventHandler.

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