Comment créer un style dans un contrôle utilisateur WPF?
-
05-07-2019 - |
Question
Je souhaite définir le style de certains contrôles sur mon UserControl, mais je n'arrive pas à trouver la bonne syntaxe:
<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>
La solution
Tout d’abord, placez vos styles dans une balise .Resources - qui peut être l’enfant de pratiquement toutes les balises de contrôle (par exemple, border, usercontrol, grid, etc.). Deuxièmement, vous pouvez spécifier le style dans la balise, mais comme vous n'avez pas déclaré de clé x: sur votre ressource, le style s'appliquera à TOUTES les bordures de 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"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow