Вертикальная прокрутка в ListBox

Привет, у меня есть список, как показано ниже внутри сетки. Я не могу сделать элементы внутри ListBox прокручиваемыми, когда количество элементов превышает высоту ListBox.

Я добавил VerticalScrollBarVisibility="Visible" в тег ListBox, но он вообще не работает.

Где-то читал о том, что прокрутка не работает на панели стека.

Кто-нибудь может помочь мне с этим? Заранее спасибо!

<ListBox>
    <TreeView>
       <TreeView.Resources>
           <HierarchicalDataTemplate>
               <StackPanel>
                 <TextBlock />
                 <TextBox></TextBox>
               </StackPanel>
           </HierarchicalDataTemplate>
       </TreeView.Resources>
    </TreeView>
</ListBox>

person kkh    schedule 20.10.2011    source источник


Ответы (1)


Вы должны использовать свойство ScrollView:

<ListBox ScrollViewer.VerticalScrollBarVisibility="Auto"
         ScrollViewer.CanContentScroll="True">     
    <TreeView>
        <TreeView.Resources>            
            <HierarchicalDataTemplate>                
                <StackPanel>                  
                    <TextBlock/>                    
                    <TextBox></TextBox>                
                </StackPanel>            
            </HierarchicalDataTemplate>        
        </TreeView.Resources>     
    </TreeView> 
</ListBox>

Он должен работать...

person Ankesh    schedule 20.10.2011
comment
хм, я пробовал. Однако это не работает. Я добавил Focusable=False MaxHeight=500 в тег ListBox. Может ли какой-либо из этих атрибутов способствовать возникновению проблемы? - person kkh; 20.10.2011
comment
Не могли бы вы опубликовать макет, т.е. Xaml - person Ankesh; 20.10.2011
comment
о, я уже решил. По-видимому, древовидное представление заворачивается в список, и вместо этого я добавляю полосу прокрутки в список. поэтому я удаляю список, и он работает! Спасибо! - person kkh; 20.10.2011
comment
Я думал, вы хотите создать иерархический список (например, смесь) - person Ankesh; 20.10.2011