#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)