Les Styles.

 

La manière la plus simple de définir l’aspect d’un objet est sans aucun doute :

 

  <TextBox x:Name="txtEssai" Foreground="Red" Text="Bonjour"/>

 

Une alterntive est:

 

<TextBox x:Name="txtEssai2"  Text="Bonsoir">

                <TextBox.Style>

                    <Style TargetType="TextBox">

                        <Setter Property="Foreground" Value="blue"/>

                    </Style>

                </TextBox.Style>

 </TextBox>

 

Le style peut être mutualisé en ressource dans la page:

 

<UserControl.Resources>

        <Style TargetType="TextBox" x:Key="styleGreen">

            <Setter Property="Foreground" Value="Green"/>

        </Style>

</UserControl.Resources>

 

<TextBox x:Name="txtEssai3" Style="{StaticResource styleGreen}" Text="Hello"/>

 

Attention un seul s à resource en anglais

 

Pour mutualiser dans l’application, il faut définir la ressource dans app.xaml.

 

  <Application.Resources>

        <Style TargetType="TextBox" x:Key="stylePurple">

            <Setter Property="Foreground" Value="Purple"/>

        </Style>

  </Application.Resources>

 

On peut également créer un dictionnaire de ressources (ne pas confondre avec fichier de ressources, ici DicoRessources.xmal:

 

<ResourceDictionary

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

 

    <Style TargetType="TextBox" x:Key="styleCyan">

        <Setter Property="Foreground" Value="Cyan"/>

    </Style>

</ResourceDictionary>

 

Que l’on fusionne dans la page ou l’application par :

 

 

<UserControl.Resources>

        <ResourceDictionary>

            <ResourceDictionary.MergedDictionaries>

                <ResourceDictionary Source="DicoRessources.xaml"/>

            </ResourceDictionary.MergedDictionaries>

        </ResourceDictionary>

</UserControl.Resources>

 

 

Chapitre suivant.