• COLOURlovers et WPF : des palettes sympa pour vos applications

    J’ai découvert COLOURlovers il y a déjà quelque temps, et il s’agit d’un site quasi indispensable lorsque l’on a besoin de définir les couleurs d’une application. Entre les palettes de la communauté et COPASO, leur outil intégré de création, on peut trouver à peu près tout ce que l’on cherche.

    colourloverslogo

    Je ne sais pas si je l’avais raté où s’il s’agit d’une plus ou moins nouveauté (on ne peut pas dire que l’on visite ce genre de site tous les jours quand on est développeur, alors ca date peut-être…) mais il y a maintenant la possibilité d’exporter en WPF/XAML les différentes palettes !

    colourlovers1

    Voici le résultat (en export XAML/Silverlight) :

    <SolidColorBrush x:Key="Brush1" Color="#FFEAEDDB" />
    <SolidColorBrush x:Key="Brush2" Color="#FFD6D4C4" />
    <SolidColorBrush x:Key="Brush3" Color="#FF5C514E" />
    <SolidColorBrush x:Key="Brush4" Color="#FF784F56" />
    <SolidColorBrush x:Key="Brush5" Color="#FFB1103C" />

  • Tooltip avancés en WPF

    L’un de mes grands moments, lorsque j’ai commencé à faire du WPF, a été la découverte que de nombreux contrôles que je croyais “tout bêtes”, ne l’était pas tant que ça. Par exemple, cette semaine, j’ai commencé à intégrer certaines modifications sur le système d’aide de l’un des logiciels sur lequel je travaille. Et au milieu de ces modifications se trouvait la réponse à une demande simple : fournir des tooltips “avancés”, similaires à ceux trouvés dans Office 2007.

    extendedtooltip

    Dans WPF, les tooltips ont deux caractéristiques très intéressantes :

    • Ils sont skinnables : vous pouvez donc en faire (presque) ce que vous voulez en terme de design
    • Ce sont des “ContentControl” : aucun problème donc pour y mettre un Panel quelconque et y ajouter autant de contrôles que nécessaire

    L’exemple ci-dessus – même si il est, sur le plan graphique, loin d’être formidable – se fait facilement avec le code suivant :

    Du coté des ressources

        <Style TargetType="{x:Type ToolTip}">
            <Setter Property="Background" Value="#7F000000"/>
            <Setter Property="BorderBrush" Value="#7Fdcdcdc" />
            <Setter Property="Foreground" Value="White"/>
        </Style>

    Du coté du contrôle

        <Button ...>
            <Button.ToolTip>
            <DockPanel> 
                <Image DockPanel.Dock="Left"> 
                    <!-- ... -->
                </Image>
                <TextBlock DockPanel.Dock="Top" FontWeight="Bold" 
                    VerticalAlignment="Center" Text="Menu principal" />
                <TextBlock Text="Cliquez ici ...."/>
            </DockPanel>
            </Button.ToolTip>
        </Button>

    Facile non ?