2010-09-09 16 views
15

Mam stronę z dwoma kontrolkami ListBox. Strona zawiera listę pozycji w oparciu o kategorię przedmiotu.WP7 Zapobieganie przewijaniu ListBox

Jest nagłówek dla danej kategorii, a następnie za pomocą pola listy zawierającej wszystkie elementy do tej kategorii, a następnie kolejny nagłówek, a następnie listę elementów dla tej kategorii, itd

Problem mam jest, że każdy ListBox przewija się niezależnie. Chcę, aby cała strona przewijała (co robi), ale nie każdego ListBox. Kontrolki ListBox automatycznie rosną do ich treści, więc nie ma potrzeby ich przewijania. czy to możliwe?

+0

Co powinno się stać, gdy łączna długość dwóch list jest większa niż ekran? Wydaje mi się, że może to mieć problemy z użytecznością? Ponadto, w jaki sposób różni się to od posiadania jednej listy i zmiany elementów w dolnej części na podstawie wyboru w górnej części? –

+0

Ekran jest przewijany, więc można przewinąć w dół, aby wyświetlić pozostałe pola listy, jeśli są dłuższe niż ekran. – CACuzcatlan

Odpowiedz

42

Wszystko, co musisz zrobić, aby wyłączyć przewijanie, wystarczy ustawić ScrollViewer.VerticalScrollBarVisibility="Disabled" (jeśli chcesz wyłączyć poziome przewijanie, użyj ScrollViewer.HorizontalScrollBarVisibility="Disabled").

Oto prosty przykład:

<ListBox Height="200" ScrollViewer.VerticalScrollBarVisibility="Disabled"> 
    <ListBoxItem > 
     <Button Content="item1" /> 
    </ListBoxItem> 
    <ListBoxItem > 
     <Button Content="item2" /> 
    </ListBoxItem> 
    <ListBoxItem > 
     <Button Content="item3" /> 
    </ListBoxItem> 
    <ListBoxItem > 
     <Button Content="item4" /> 
    </ListBoxItem> 
    <ListBoxItem > 
     <Button Content="item5" /> 
    </ListBoxItem> 
</ListBox> 

Mam nadzieję, że będzie to odpowiedź na Twoje pytanie.

+0

Dzięki, to było dokładnie to, czego szukałem. – CACuzcatlan

+0

Czy możesz dodać jeszcze jedną odpowiedź na temat używania go w kod C#? – iamatsundere181

Powiązane problemy