11 Stimmen

Wie mache ich eine horizontale ListBox scrollbar horizontal in WP7?

Ich versuche, den folgenden Code zu verwenden, um eine horizontale Listbox in WP7 Silverlight zu erstellen. Die Elemente werden horizontal angezeigt, aber das Scrollen erfolgt immer noch vertikal.

Mache ich etwas falsch in WPF? Ist dies ein spezifischer Fehler von WP7?

        <Setter Property="ItemsPanel">
            <Setter.Value>
                <ItemsPanelTemplate>
                    <VirtualizingStackPanel Orientation="Horizontal" 
                                            IsItemsHost="True" 
                                            CanHorizontallyScroll="True" 
                                            CanVerticallyScroll="False"/>
                </ItemsPanelTemplate>
            </Setter.Value>
        </Setter>

Bearbeiten: Mir fehlten zwei Eigenschaften, die anscheinend einen großen Unterschied machen. (Die Lösung stammt aus dem zweiten Link in der akzeptierten Antwort von Mick N.)

        <Setter Property="ItemsPanel">
            <Setter.Value>
                <ItemsPanelTemplate>
                    <VirtualizingStackPanel Orientation="Horizontal" IsItemsHost="True" CanHorizontallyScroll="True" CanVerticallyScroll="False"/>
                </ItemsPanelTemplate>
            </Setter.Value>
        </Setter>
        <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
        <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Disabled"/>

6voto

Shashi Punkte 2794

Dies ist der Code, der für mich funktioniert.

4voto

Mick N Punkte 14902

2voto

eldubleu Punkte 87

OK, fast zwei Jahre später, aber Mahanteshs Code hat für mich gut funktioniert, mit nur 2 Ergänzungen, nämlich das Deaktivieren der VerticalScrollBar-Eigenschaft sowohl in der ScrollViewer-Zeile als auch in der ListBox-Zeile, um zu verhindern, dass die ListBox immer noch vertikal scrollen kann

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X