Carl de Billy
Tout ce que vous voulez de Carl, ou presque.
Carl de Billy
Navigation
  • Carl, le gars…
  • Parcours professionnel
You are here: Home › Silverlight › Stylisez votre Silverlight comme du CSS en utilisant les styles implicites

Stylisez votre Silverlight comme du CSS en utilisant les styles implicites

2010-08-04 | Filed under: Silverlight and tagged with: css, semantic, silverlight, styling, web

Comme vous le savez probablement, Silverlight 4 nous arrive avec son lot de nouveautés.  Loin de moi l’intention de vous en faire une liste, ce sujet a déjà été couvert par un grand nombre de sites.  Cependant, je souhaite attirer votre attention sur une nouveauté de Silverlight 4 qui existait déjà en WPF : le Implicit Styling.  Ça simplifie grandement le skinning d’une application Silverlight.

Bon, ce n’est pas une révélation, ça permet de changer globalement l’apparence d’un contrôle sans être obligé de toujours relier ce dernier à un style en utilisant un lien de ressource du type <Button Style=”{StaticResource BasicButtonStyle}”>…</Button>.

Le web sémantique, ça vous dit quelque chose ?

C’est une expression bien à la mode dans les agences web, surtout depuis l’avènement du Web 2.0.  Hormis le buzzword, l’aspect sémantique permet de séparer à peu près totalement le contenu de la présentation.  Un peu à la manière de ce blog, il n’y a aucune indication dans le texte qui indique de quelle couleur le texte doit s’afficher, de quelle grandeur doit être un titre, etc.…  c’est le CSS qui décide comment ça s’affiche.

Comment ça marche ?  C’est simple : c’est l’aspect sémantique qui détermine comment (et où) s’affiche un élément dans une page.  Quand un mot est dans une balise <p> dans la zone centrale, il a une certaine apparence.  Si le même mot se retrouvait dans une balise <p> de manière identique, mais que ce dernier soit dans une barre latérale (par exemple), il peut s’afficher de manière totalement différente.  Ce n’est donc pas le contenu qui détermine son style, mais plutôt sa position ou, plus précisément, sa signification.  D’où l’appellation généraliste web sémantique pour désigner cette technique.

Comment fait-on du sémantique en Silverlight ?

Avant l’introduction des Implicit Styles dans Silverlight 4, ce n’était pas possible.  Mais depuis, on peut s’inspirer du CSS pour créer des zones et appliquer des style sur ce zones.

Voyons tout d’abord un bout de xaml qui va servir d’exemple :

Ce qui donne le rendu suivant :

Supposons maintenant que nous plaçions ce code dans un UserControl appelé UnstyledContent, car on va le réutiliser plusieurs fois.  Maintenant, si on l’utilise, on peut styliser le contenu en appliquant des styles implicites sur un contenant parent.  Voici un exemple :

Le résultat sera alors ainsi :

Comme vous pouvez voir, il est possible de changer l’apparence du contenu de manière localisée sans toutefois changer le style global.

Maintenant, comment je gère ça ?

Il est également possible de mettre les styles dans un dictionnaire et le référencer dans le contentant parent.  Voici comment l’on fait :

Et voilà!!!  C’est tout.  Ainsi, le style utilisé est défini dans un dictionnaire.  Attention cependant si vous utilisez Microsoft Expression Blend pour créer le dictionnaire : ce dernier va ajouter une référence vers le nouveau dictionnaire dans le App.xaml, vous devrez l’enlever manuellement.  Je n’ai pas trouvé comment l’empêcher.

Vous pouvez également téléchargez mon projet test pour mieux comprendre la technique : SemanticStyling

Did you like this article? Share it with your friends!

Tweet

Written by cdebilly

Laisser un commentaire Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Catégories

  • .NET
  • Développement
  • Internet
  • Javascript
  • NFC
  • Non catégorisé
  • Open-Source
  • Reactive Extension
  • Silverlight
  • Téléphonie
  • Windows 10
  • Windows 8
  • Windows Phone 8
  • Windows Server 2012
  • WPF

Archives

  • février 2018
  • janvier 2015
  • juin 2014
  • novembre 2013
  • octobre 2013
  • avril 2013
  • février 2013
  • novembre 2012
  • octobre 2012
  • avril 2012
  • septembre 2011
  • juillet 2011
  • février 2011
  • janvier 2011
  • novembre 2010
  • septembre 2010
  • août 2010

Bookmark or Pin us!

Carl de Billy supports many popular operating systems!

Supported platforms include:

  • FavIcons for desktop and mobile browsers
  • Windows 8 and Windows Phone 8.1 Live Tiles
  • iOS Home Screen Icons
  • iOS WebApp

Tags

.Net Framework 3g ADSL autocomplete C# Communauto contrat numérique css foursquare hadopi HoloLens internet IObservable jquery Microsoft Montréal ndef nfc nventive Observable Pixel shader RAID Reactive Extension Roslyn Rx rxjs semantic silverlight smartposter Storage Spaces styling tags Teksavvy telephonie Uno videotron Visual Studio web Windows 8 Windows 10 Windows Phone WP7

Navigation

  • Inscription
  • Connexion
  • Flux des publications
  • Flux des commentaires
  • Site de WordPress-FR

Mastodon

© 2025 Carl de Billy

Powered by Esplanade Theme and WordPress