Bonjour,

J'utilise un XmlDataProvider pour construire un Menu. Je le renseigne directement dans le constructeur du Menu.
Je m'abonne à l'évènement DataChanged pour pouvoir effectuer certains traitements.
Je me suis apercu que selon la manière dont on utilise le Menu, l'évènement DataChanged n'est pas envoyé au même moment:
- si l'on place le Menu dans une fenêtre avec une simple Grid, l'évènement DataChanged est envoyé avant les évènements Loaded des parents du Menu (y compris le Menu lui-même).
- si l'on place le Menu en tant que template de n'importe quel Control, l'évènement DataChanged est envoyé après les évènements Loaded des parents du Menu (y compris le Menu lui-même):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
<Button>
    <Button.Template>
        <ControlTemplate>
            <local:MyMenu />
        </ControlTemplate>
    </Button.Template>
</Button>
Je ne comprend pas cette différence de comportement