Partager via


Procédure pas à pas : implémentation d'un nouveau style

Mise à jour : novembre 2007

Pour la plupart des contrôles mobiles ASP.NET, la classe de base Style couvre suffisamment les styles de propriété. Pourtant, des contrôles individuels peuvent exiger des classes de style spécialisées qui fournissent des propriétés supplémentaires spécifiques au contrôle.

Toutes les classes de style spécialisées doivent hériter de la classe de base Style. La classe de base fournit la prise en charge automatique de la gestion d'état et de l'héritage. Pour utiliser ces fonctionnalités, la classe de style spécialisée doit définir et stocker toutes les nouvelles propriétés dans une propriété fournie par la classe de base.

Pour ajouter la prise en charge des propriétés dans une classe de style spécialisée

  1. Écrivez une classe de style spécialisée qui hérite de la classe de base Style.

  2. Substituez la méthode CreateStyle du contrôle et retournez une instance de la classe de style spécialisée.

    protected override Style CreateStyle()
    {
        return new NewStyle();
    }
    
  3. Créez éventuellement une nouvelle propriété sur le contrôle qui type fortement la propriété Style. Cette nouvelle propriété peut être utilisée à l'étape suivante (étape 4).

    protected NewStyle NewStyle
    {
        get
        {
            return (NewStyle)Style;
        }
    }
    
  4. Pour chaque nouvelle propriété dans la classe spécialisée, fournissez une propriété dans la classe de contrôle elle-même. Ces propriétés seront les accesseurs publics pour les propriétés de style. Les implémentations de ces propriétés peuvent appeler l'objet de style.

    protected String ThemeName
    {
        get
        {
            return NewStyle.ThemeName;
        }
        set
        {
            NewStyle.ThemeName = value;
        }
    }
    

Pour ajouter un nouveau style

  1. Déclarez une static string publique comme champ de membre, initialisée à la valeur de retour d'un appel à la méthode RegisterStyle définie dans la classe de base. L'exemple de code suivant crée une propriété string qui prend l'héritage en charge et dont la valeur par défaut est la string vide ("").

    public static String ThemeNameKey = 
        RegisterStyle(ThemeName, typeof(String), String.Empty, true);
    

    La méthode RegisterStyle inscrit la nouvelle propriété de style et retourne une clé unique qui peut être utilisée pour faire référence au style dans la propriété. Les paramètres affectés à la méthode RegisterStyle définissent le nom, le type de données et la valeur par défaut de la propriété, ainsi que son comportement d'héritage.

    La clé doit être publique, car les adaptateurs de contrôle l'utilisent également pour accéder à la valeur sensible à l'héritage de la propriété.

  2. À l'aide de la propriété d'indexeur par défaut de la classe de base, créez une propriété publique dont l'implémentation accède à la propriété.

    public String ThemeName
    {
        get
        {
            return (String)this[ThemeNameKey];
        }
        set
        {
            this[ThemeNameKey] = value;
        }
    }
    

Voir aussi

Concepts

Styles

Accès aux propriétés de style dans les adaptateurs de périphérique

Autres ressources

Création de nouveaux styles