2009-05-13 10 views
2

J'ai style élément ComboBox comme suit (simplifié):Mise en page des articles ComboBox

<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*" /> 
     <ColumnDefinition Width="35"/> 
    </Grid.ColumnDefinitions> 

      <TextBlock Grid.Column="0" /> 
      <Path Grid.Column="1" Style={StaticResource StarStyle}/> 
</Grid> 

Le résultat est comme prévu. Un élément dans ma liste se présente comme suit:

alt text http://robbertdam.nl/share/p1.png

Howver, lorsque je sélectionne cet élément. Il ressemble à ceci:

alt text http://robbertdam.nl/share/p2.png

Je veux avoir les étoiles aligné à droite. Qu'est-ce que je rate?

+0

J'apprécie aussi quand les étoiles alignent droite. ;-) –

Répondre

2

J'ai oublié de mentionner que je l'ai défini ce style

 <Style x:Key="ComboItemsStyle" TargetType="{x:Type ComboBoxItem}"> 
      <Setter Property="HorizontalContentAlignment" Value="Stretch" /> 
     </Style> 

L'attribution de ce style à mon ComboBox résout:

 <Style x:Key="ComboStyle" TargetType="{x:Type ComboBox}"> 
      <Setter Property="HorizontalContentAlignment" Value="Stretch" /> 
     </Style> 
+0

Ah bien sûr - le truc "stretch" est un problème courant avec ComboBoxes et ListBoxes. J'aurais aimé que MS en fasse par défaut, car * tout le monde * fait la même erreur (moi inclus). –

1

L'objet "Chemin" possède-t-il une propriété "Aligner"? Autrement dit, pouvez-vous forcer à aligner à droite avec ce XAML?

<Path Grid.Column="1" Align="Right" Style={StaticResource StarStyle}/> 

Modifier

Non, il ne fonctionne pas. Dans ce cas, je suggère d'intégrer le chemin dans un conteneur qui peut l'aligner. Peut-être:

<DockPanel Grid.Column="1"> 
    <Path DockPanel.Dock="Right" Style={StaticResource StarStyle}/> 
</DockPanel> 
+0

Merci pour votre aide, mais j'ai déjà trouvé la solution. Vois ma réponse. –