Cette page vous a-t-elle été utile ?
Votre avis sur ce contenu est important. N'hésitez pas à nous faire part de vos commentaires.
Vous avez d'autres commentaires ?
1500 caractères restants
MSDN Library
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Informations
Le sujet que vous avez demandé est indiqué ci-dessous. Toutefois, ce sujet ne figure pas dans la bibliothèque.

Comment : définir et référencer une ressource

Cet exemple montre comment définir une ressource et la référencer à l'aide d'un attribut en XAML (eXtensible Application Markup Language).

L'exemple suivant définit deux types of ressources : une ressource SolidColorBrush et plusieurs ressources Style. La ressource SolidColorBrushMyBrush est utilisée pour fournir la valeur de plusieurs propriétés qui prennent chacune une valeur de type Brush. Les ressources StylePageBackground, TitleText et Label ciblent chacune un type de contrôle particulier. Les styles définissent diverses propriétés sur les contrôles ciblés lorsque cette ressource de style est référencée par une clé de ressource et utilisée pour définir la propriété Style de plusieurs éléments de contrôle spécifiques définis en XAML.

Notez que l'une des propriétés des accesseurs Set de propriétés du style Label fait également référence à la ressource MyBrush définie précédemment. C'est une technique courante, mais il est important de se rappeler que les ressources sont analysées et entrées dans un dictionnaire de ressources dans l'ordre où elles sont fournies. Les ressources sont également demandées dans l'ordre où elles se trouvent dans le dictionnaire si vous utilisez l'StaticResource, extension de balisage pour les référencer à partir d'une autre ressource. Assurez-vous que toute ressource que vous référencez a été définie dans la collection de ressources avant l'endroit où la ressource est demandée. Si nécessaire, vous pouvez contourner l'ordre strict de création des références de ressources en utilisant une DynamicResource, extension de balisage pour référencer la ressource au moment de l'exécution, mais vous devez savoir que la technique DynamicResource a des conséquences sur les performances. Pour plus d'informations, consultez Ressources XAML.


<Page Name="root"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Page.Resources>
    <SolidColorBrush x:Key="MyBrush" Color="Gold"/>
    <Style TargetType="Border" x:Key="PageBackground">
      <Setter Property="Background" Value="Blue"/>
    </Style>
    <Style TargetType="TextBlock" x:Key="TitleText">
      <Setter Property="Background" Value="Blue"/>
      <Setter Property="DockPanel.Dock" Value="Top"/>
      <Setter Property="FontSize" Value="18"/>
      <Setter Property="Foreground" Value="#4E87D4"/>
      <Setter Property="FontFamily" Value="Trebuchet MS"/>
      <Setter Property="Margin" Value="0,40,10,10"/>
    </Style>
    <Style TargetType="TextBlock" x:Key="Label">
      <Setter Property="DockPanel.Dock" Value="Right"/>
      <Setter Property="FontSize" Value="8"/>
      <Setter Property="Foreground" Value="{StaticResource MyBrush}"/>
      <Setter Property="FontFamily" Value="Arial"/>
      <Setter Property="FontWeight" Value="Bold"/>
      <Setter Property="Margin" Value="0,3,10,0"/>
    </Style>
  </Page.Resources>
  <StackPanel>
    <Border Style="{StaticResource PageBackground}">
      <DockPanel>
        <TextBlock Style="{StaticResource TitleText}">Title</TextBlock>
        <TextBlock Style="{StaticResource Label}">Label</TextBlock>
        <TextBlock DockPanel.Dock="Top" HorizontalAlignment="Left" FontSize="36" Foreground="{StaticResource MyBrush}" Text="Text" Margin="20" />
        <Button DockPanel.Dock="Top" HorizontalAlignment="Left" Height="30" Background="{StaticResource MyBrush}" Margin="40">Button</Button>
        <Ellipse DockPanel.Dock="Top" HorizontalAlignment="Left" Width="100" Height="100" Fill="{StaticResource MyBrush}" Margin="40" />
      </DockPanel>
    </Border>
  </StackPanel>
</Page>


Ajouts de la communauté

Afficher:
© 2015 Microsoft