2010-11-22 5 views
2

Pourquoi le style suivant ne fonctionne-t-il pas? J'ai dans d'autres endroits exactement la même construction avec différents contrôles et cela fonctionne.Pourquoi le style WPF suivant n'est pas appliqué?

L'utilisation de TargetType="{x:Type Separator}" au lieu de TargetType="Separator" ne fonctionne pas non plus. Ni déplacer Style supérieur dans la hiérarchie XAML. Puis-je éviter d'utiliser x:Key="styleName" et Style="{StaticResource styleName}"?

Mais, plus important encore, j'essaie de comprendre pourquoi une telle liaison de style ne fonctionne pas toujours.

<ToolBar Height="25"> 
    <ToolBar.Resources> 
     <Style TargetType="Separator"> 
      <Setter Property="Margin" Value="15"/> 
     </Style> 
     <Style TargetType="RadioButton"> 
      <Setter Property="Margin" Value="10"/> 
      <Setter Property="Width" Value="50"/> 
     </Style> 
    </ToolBar.Resources> 

    <RadioButton Content="A"/> <!-- NOT APPLIED HERE --> 
    <Separator/>    <!-- NOT APPLIED HERE --> 
    <RadioButton Content="B"/> <!-- NOT APPLIED HERE --> 
</ToolBar> 

Répondre

3

La barre d'outils de WPF fait des choses géniales avec ses contrôles enfants. Contrairement aux autres conteneurs, ce n'est pas aussi simple que de définir un style qui s'applique à un type. Jetez un oeil à cet article de blog pour obtenir des informations susceptibles de vous aider. Styling controls on a ToolBar.

+0

Excellent article sur la barre d'outils. Merci pour le lien! – jpierson

Questions connexes