2016-06-17 11 views
1

Ich habe eine ComboBox, um den Benutzer aus einer Liste wählen zu lassen, aber wenn die Liste lang genug wird, beginnt es automatisch zu umbrechen. Wenn der Benutzer beispielsweise weit genug nach unten scrollt, erreicht er das Ende der Liste und findet den Anfang der Liste unmittelbar nach einer einzelnen leeren Zeile. Die Drop-Down-Auswahlliste endet nie wirklich, sie bleibt nur für immer endlos.Deaktivieren von ComboBox Schleife scroll

Wie kann ich diese Schleife Scroll-Funktion entfernen, so dass der Benutzer nur das Ende der Liste erreicht?

Mein Code:

<ComboBox Name="listSelect" ItemsSource="{Binding DataInstance.ItemList}"> 
    <ComboBox.ItemTemplate> 
     <DataTemplate> 
      <TextBlock Text="{Binding ItemNumber, Mode=OneWay}" /> 
     </DataTemplate> 
    </ComboBox.ItemTemplate> 
</ComboBox> 
+0

Funktioniert das für Sie? –

Antwort

1

Mögliche Lösung aus diesem Artikel: http://netitude.bc3tech.net/2013/04/12/windows-8s-combobox-and-the-carouselpanel/

Setzen Sie diese auf Ihre ComboBox-Steuerelement, sollte dies die Standardplatte überschreiben:

<ComboBox.ItemsPanel> 
       <ItemsPanelTemplate> 
        <StackPanel Orientation="Vertical" /> 
       </ItemsPanelTemplate> 
</ComboBox.ItemsPanel> 

Dies ist zu bearbeiten die Panel-Vorlage, so wird Ihr endgültiger Code sein:

<ComboBox Name="listSelect" ItemsSource="{Binding DataInstance.ItemList}"> 
    <ComboBox.ItemTemplate> 
     <DataTemplate> 
      <TextBlock Text="{Binding ItemNumber, Mode=OneWay}" /> 
     </DataTemplate> 
    </ComboBox.ItemTemplate> 
    <ComboBox.ItemsPanel> 
        <ItemsPanelTemplate> 
         <StackPanel Orientation="Vertical" /> 
        </ItemsPanelTemplate> 
    </ComboBox.ItemsPanel> 
</ComboBox> 
+0

Wo setze ich die ? –

+0

Hervorragend! Vielen Dank :) –