2009-09-10 8 views
5

Je veux définir le style de certains contrôles sur mon UserControl, mais ne peut pas sembler trouver la bonne syntaxe:Comment créer un style dans un UserControl WPF?

<UserControl x:Class="HiideSRM.WIDSModule.BiometricStatusIndicator" 
       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
       > 

    <Style TargetType="{x:Type Border}"> 
     <Setter Property="Width" Value="10"/> 
    </Style> 
    <StackPanel Orientation="Horizontal" x:Name="Panel"> 
     <Border Height="50" Margin="1"/> 
     <Border Height="10" Margin="1"/> 
     <Border Height="10" Margin="1"/> 
     <Border Height="10" Margin="1"/> 
    </StackPanel> 

</UserControl> 

Répondre

12

premier, placez vos styles dans une balise .resources - qui peut être l'enfant Deuxièmement, vous pouvez spécifier le style dans la balise, mais puisque vous n'avez pas déclaré une clé x: sur votre ressource, le style s'appliquera à TOUTES les bordures (par exemple, border, usercontrol, grid, etc.). dans ce contrôle.

<UserControl.Resources> 
    <Style TargetType="{x:Type Border}"> 
     <Setter Property="Width" Value="10"/> 
    </Style> 
</UserControl.Resources> 

Notez que la syntaxe est différente pour Silverlight. au lieu de TargetType="{x:Type Border}" vous utiliseriez TargetType="Border"

Questions connexes