Jim*_*eri 13 wpf listbox scrollbar
我有一个ListBox显示WPF控件列表.我的问题是垂直滚动条显示,但即使有足够的项目ListBox应该可滚动,也会被禁用.另一个可能相关的事实是,它包含在一个Integration.ElementHost.
吉姆,WPF noobie
以下是XAML ListBox:
// for brevity I removed the Margin and Tooltip attributes
<Grid x:Class="Xyzzy.NoteListDisplay"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<StackPanel Name="stackPanel" Orientation="Vertical"
ScrollViewer.VerticalScrollBarVisibility="Visible">
<StackPanel Orientation="Horizontal">
<CheckBox Name="AllRecent" IsChecked="False" >View All Recent</CheckBox>
<CheckBox Name="AscendingOrder" IsChecked="False">Descending Order</CheckBox>
<Button Name="btnTextCopy" Click="btnCopyText_Click">Copy All</Button>
</StackPanel>
<ListBox Name="NoteList"
ScrollViewer.CanContentScroll="True"
ScrollViewer.VerticalScrollBarVisibility="Visible">
</ListBox>
</StackPanel>
</Grid>
Run Code Online (Sandbox Code Playgroud)
并在每个ListBox项目中显示控件的XAML :
<UserControl x:Class="Xyzzy.NoteDisplay"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<TextBlock Name="Heading" FontSize="10">Note Heading</TextBlock>
<Button Name="btnCopyText" Height="20" FontSize="12"
Click="btnCopyText_Click">Copy
</Button>
</StackPanel>
<TextBlock Name="Body" FontSize="14">Note Body</TextBlock>
</StackPanel>
</Grid>
</UserControl>
Run Code Online (Sandbox Code Playgroud)
Joh*_*zek 28
使用时我的滚动条可见性有问题StackPanel.我认为这是因为StackPanel它总是需要包含所有孩子.尝试重新组织布局以删除StackPanel(使用Grid替代)并查看是否有帮助.
你只需要引入Height属性,像这样:
<ListBox Height="200"
Name="NoteList"
ScrollViewer.CanContentScroll="True"
ScrollViewer.VerticalScrollBarVisibility="Visible">
</ListBox>
Run Code Online (Sandbox Code Playgroud)