在下面的示例中,我有一个列表框,其中包含数十种字体名称。
我以为它将自动在其上具有垂直滚动条,以便您可以选择任何字体,而不仅仅是列表中的第一个字体,但没有。
因此,我添加了一个“ ScrollViewer”,并在右侧放置了一个“滚动条区域”,但是滚动条区域中没有滚动条,因此您可以滚动(!)。
为什么滚动条不是自动的,如何强制它具有滚动条?
<StackPanel Name="stack1">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="2*"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<ScrollViewer>
<ListBox Grid.Row="0" Name="lstFonts" Margin="3" ItemsSource="{x:Static Fonts.SystemFontFamilies}"/>
</ScrollViewer>
</Grid>
</StackPanel>
ListBox
里面放了一个东西ScrollViewer
,那个东西ListBoxItems
的伸展幅度超出了他们想要的宽度ListBox
。删除ScrollViewer
和设置ScrollViewer.VerticalScrollBarVisibility="Visible"
并ScrollViewer.HorizontalScrollBarVisibility="Disabled"
完成了窍门。谢谢您的帮助!