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

#c# #wpf #xaml #listbox #scrollbar

#c# #wpf #xaml #список #полоса прокрутки

Вопрос:

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

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

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

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

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

Ответ №1:

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

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

Это должно сработать…

Комментарии:

1. хм, я пробовал это. Однако это не работает. Я добавил Focusable=»False» maxHeight=»500″ в тег ListBox. Может ли какой-либо из этих атрибутов способствовать возникновению проблемы?

2. Не могли бы вы опубликовать макет, т.е. Xaml

3. о, я уже решил это. По-видимому, просмотр дерева переносится внутрь списка, и вместо этого я добавляю полосу прокрутки в список. итак, я удаляю список, и он работает! Спасибо!

4. Я думал, вы хотите создать иерархический список (например, blend)