PDA

Afficher la version complète : Syntaxe des propriétés/events en XAML



Czayfaboo
01/01/2008, 18h46
Syntaxe des propriétés et des évènements en XAML

Les propriétés en XAML peuvent s\'écrire de deux façons différentes :

[item]en attribut de l\'élement
[item]en noeud enfant, avec une syntaxe particulière


Ainsi, les codes suivants sont équivalents :

<Button Width=\"150\" Height=\"25\">
Click here !
</Button>

<Button>
<Button.Width>150</Button.Width>
<Button.Height>25</Button.Height>
Click here !
</Button>

<Button Height=\"25\">
<Button.Width>150</Button.Width>
Click here !
</Button>
etc.

La syntaxe d\'une propriété placée en tant que fils d\'un élément est ainsi donc la suivante : [-i]nomElement.nomPropriété[/-i]

Voici un exemple un peu plus complexe : un bouton avec un menu déroulant attaché :

<Button Width=\"150\" Height=\"25\">
<Button.ContextMenu>
<ContextMenu>
<MenuItem Header=\"Bleu\" Click=\"MettreEnBleu\">
Bouton en bleu
</MenuItem>
<MenuItem Header=\"Vert\" Click=\"MettreEnVert\">
Bouton en vert
</MenuItem>
</ContextMenu>
</Button.ContextMenu>
<Button.Content>Click here !</Button.Content>
<!-- Remarque : la balise Button.Content est facultative ici. -->
</Button>

Remarquez alors que le contenu textuel d\'un bouton peut être vu comme correspondant à la valeur d\'une propriété.
Ainsi donc, on peut également définir un bouton de la manière suivante :

<Button Width=\"150\" Height=\"25\" Content=\"Click here !\" />

Un évènement XAML se comporte exactement comme une propriété et possède également les deux syntaxes.

Ainsi, les codes suivant sont équivalents :

<Button Click=\"OnClickMe\">
Mon bouton
</Button>

<Button>
<Button.Click>OnClickMe</Button.Click>
Mon bouton
</Button>

Remarque : Bien que les deux syntaxes existent en XAML. L\'Intellisense de Visual Studio 2008 refusera de vous les proposer en tant que noeud enfant. Il faut les taper à la main pour les déclarer selon la syntaxe [-i]nomElement.nomEvènement[/-i].