2010-06-09 6 views
0

Je comprends comment l'attribut Browsable est censé fonctionner. Il est censé cacher une propriété d'apparaître dans un PropertyGrid en temps de conception.Utilisation appropriée (meilleures pratiques) de l'attribut Browsable dans .NET pour le comportement du composant de grille d'exécution

Cela a également pour effet d'empêcher une propriété d'apparaître dans des composants tels que des grilles, ou spécifiquement Infragistics WinGrid. Je ne suis pas sûr s'il a ce comportement sur les grilles Windows Forms normales.

Cela fonctionne, mais il ne semble pas que Browsable soit utilisé comme prévu lorsqu'il est utilisé pour l'affichage de l'exécution d'une propriété sur un composant de grille.

Toute littérature de Microsoft sur une utilisation correcte. Même si cela fonctionne, je ne veux pas utiliser cet attribut pour masquer des colonnes sur une grille liée à un objet métier si ce n'est pas l'utilisation correcte de l'attribut, mais quelque chose que certains fournisseurs de grille ont décidé d'utiliser pour leurs grilles.

Répondre

1

Il n'y a aucune règle dans le .NET Framework Guidelines qui stipule que les attributs doivent être exclusifs aux types pour lesquels ils ont été conçus ou couramment utilisés. Leur réutilisation aide certainement le programmeur à mémoriser moins de noms de classe, tant qu'il n'a pas à sauter dans des cerceaux en utilisant les directives/Imports et les références d'assemblage. Ce n'est pas un problème avec un contrôle Windows Forms.

Donner un comportement d'exécution d'attribut lorsqu'il est normalement utilisé pour affecter le comportement au moment du design ne serait cependant pas mon choix. C'est Infragistics, que puis-je dire ...

0

L'attribut "Browsable" de Microsoft n'a rien à voir avec la dissimulation de colonnes de grille.

Il spécifie simplement si une propriété doit être affichée dans une fenêtre Propriétés de Visual Studio Designer (ou également dans le composant PropertyGrid). Les membres marqués d'un attribut BrowsableAttribute sur false ne sont pas appropriés pour l'édition au moment du design et ne sont donc pas affichés dans un concepteur visuel.

Tout sur cet attribut. Nous ne pouvons pas parler des "meilleures pratiques" ici, c'est comme si nous discutions des meilleures pratiques pour la propriété du bouton "Visible".

+0

Whan Je pense à Best Pracices, je pense à partir d'un point de vue des développeurs qui recherchent cet attribut et appliquent leur propre version du comportement tel que cacher la propriété à l'exécution dans un la grille. – Dan

+0

Je suggère que les meilleures pratiques ici pourraient être répondues comment nous répondons quelque chose comme les meilleures pratiques pour une propriété Visible. Une propriété Visible détermine si un composant est visible à l'exécution et ne doit donc pas avoir d'autre comportement. Vous dites également que "l'attribut Microsoft" Browsable "n'a rien à voir avec le fait de masquer des colonnes de grille." De nombreuses grilles de composants utilisent cette propriété pour que les grilles affichent/cachent certaines colonnes lors de l'exécution. Ma question est relative à cette utilisation acceptable de cette propriété pour un développeur de composants – Dan