2010-08-25 15 views

risposta

25

utilizzare la proprietà ItemsPanel di sostituire il pannello con uno StackPanel orizzontale:

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

Se si vuole fare questo in uno stile, è sufficiente aggiungere un Setter che imposta la proprietà 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 per la risposta ma voglio farlo dallo stile di default. Mi limiterò a modificare lo stile – Malcolm

+0

hey Quartermeister tx ancora una volta, ma una volta fatto in stile mi genera un errore: Messaggio: Errore non gestito nella raccolta di applicazioni Silverlight Gli elementi devono essere vuoti prima di utilizzare ItemsSource. a System.Windows.Controls.ItemsControl.set_ItemsSource (valore IEnumerable) – Malcolm

+0

@Malcom: È difficile vedere come questo potrebbe averlo rotto. Se si lascia interamente la proprietà ItemsPanelTemplate, lasciando come stackpanel verticale predefinito, si ottiene ancora l'errore? – AnthonyWJones

Problemi correlati