2010-08-25 4 views

Répondre

25

Utilisez la propriété ItemsPanel pour remplacer le panneau avec un StackPanel horizontal:

<ListBox> 
    <ListBox.ItemsPanel> 
     <ItemsPanelTemplate> 
      <StackPanel Orientation="Horizontal"/> 
     </ItemsPanelTemplate> 
    </ListBox.ItemsPanel> 
</ListBox> 

Si vous voulez faire cela dans un style, il suffit d'ajouter un Setter qui définit la propriété ItemsPanel:

<Style TargetType="ListBox"> 
    <!-- Rest of the style --> 
    <Setter Property="ItemsPanel"> 
     <Setter.Value> 
      <ItemsPanelTemplate> 
       <StackPanel Orientation="Horizontal"/> 
      </ItemsPanelTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 
+0

tx Quartermeister pour la réponse mais je veux faire cela du style par défaut. Je vais juste éditer le style – Malcolm

+0

hey Quartermeister tx encore une fois mais quand fait dans le style il me jette une erreur: Message: Une erreur non gérée dans la collection d'éléments d'application Silverlight doit être vide avant d'utiliser ItemsSource. at System.Windows.Controls.ItemsControl.set_ItemsSource (valeur IEnumerable) – Malcolm

+0

@Malcom: Il est difficile de voir comment cela pourrait l'avoir brisé. Si vous laissez la propriété ItemsPanelTemplate entièrement, en laissant le panneau de pile vertical par défaut, obtenez-vous toujours l'erreur? – AnthonyWJones

Questions connexes