2009-08-18 6 views
2

Vous avez donc un contrôle d'accès. Vous souhaitez vous lier à certaines de ses propriétés de dépendance, vous devez donc spécifier un nom x: Name pour pouvoir l'utiliser.Naming Usercontrols. Convention?

Vous ne pouvez pas le faire ...

<UserControl x:Class="WpfApplication1.UserControl1" x:Name="UserControl1" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
    <Grid /> 
</UserControl> 

... parce que les noms des membres ne peuvent pas être les mêmes que leur type englobante.

Alors vous devez choisir quelque chose d'autre ... mais qu'est-ce qu'une bonne convention à faire ici? Collez quelque chose d'arbitraire jusqu'à la fin? "UserControl1UserControl"? Appelez-le "Root"? Utiliser un cas différent "userControl1"?

Quels choix avez-vous faits?

Je sais que c'est vraiment mineur, mais j'essaie de nommer les éléments très soigneusement et la cohérence est importante pour moi.

+0

En règle numéro un, je suggère d'utiliser l'anglais. Je ne plaisante pas, il n'y a rien de plus drôle que de déboguer du code ayant des identifiants dans une langue que vous ne comprenez pas. –

+0

Je peux imaginer que ce serait hilarant. –

Répondre

1

Nommez-le cependant que vous avez nommé le fichier XAML.

Foo.xaml:

<UserControl x:Name="foo" ... 
0

Ces noms finissent comme des champs dans votre classe, donc j'utiliser simplement les conventions de nommage des champs standard. Et si c'est le contrôle au niveau de la racine, je l'appelle toujours "_root":

<UserControl x:Name="_root"> 
    <StackPanel> 
     <TextBox x:Name="_nameTextBox"/> 
     <TextBox x:Name="_ageTextBox"/> 
    </StackPanel> 
</UserControl> 
+0

J'apprécie "Root" jusqu'ici ... –

+0

Est-ce que cela est destiné à être la racine du contrôle utilisateur, ou la racine de l'arborescence XAML? Vous savez ce que vous vouliez dire, mais pas la suivante. Est-il sensé de tout nommer "_root", même s'il existe probablement de meilleurs noms, plus spécifiques au contexte? –

+0

@Brian: J'espère que la personne suivante peut lire le code. Je pourrais faire un argument similaire à votre convention. –

0

Soyez descriptif; être cohérent. En d'autres termes, choisissez quelque chose et respectez-le.