我在网格视图中有一个滚动查看器,滚动查看器占据了屏幕的一定百分比。
在滚动查看器中,我有一个列表框,我在代码中添加项目。
问题是我无法让列表框占用父滚动查看器中的所有可用空间。
只是想知道这是否可能。
谢谢,
马特
编辑:
<Grid x:Name="LayoutRoot" Background="White" Margin="0,8,0,0" Loaded="LayoutRoot_Loaded">
<Grid.RowDefinitions>
<RowDefinition Height="0.06*"/>
<RowDefinition Height="0.06*" />
<RowDefinition Height="0.88*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.155*"/>
<ColumnDefinition Width="0.845*"/>
</Grid.ColumnDefinitions>
...
<ListBox x:Name="lstReportTypes" BorderBrush="Black" Margin="0" BorderThickness="0" Foreground="#FF737FE0" FontSize="10.667" Background="{x:Null}" SelectionChanged="lstReportTypes_SelectionChanged" Grid.Row="2" Grid.Column="1">
<ListBoxItem Content="Item 1" Foreground="#FF737FE0" Background="Transparent" Cursor="Hand"/>
<ListBoxItem Content="Item 2" Foreground="#FF737FE0" Background="Transparent" Cursor="Hand"/>
<ListBoxItem Content="item 3dafasdfasdfasdfsdfasdfasdfasdf" Foreground="#FF737FE0" Background="Transparent" Cursor="Hand"/>
</ListBox>
上面的代码是一小段代码,列表框显示在正确的位置并且宽度正确。 这些项目似乎并不占用所有父母的宽度,但它们都是剪辑。如果我选择其中一个项目,则所选轮廓的宽度正确。
希望这些额外信息有帮助
答案 0 :(得分:1)
如果您打算在内部只有ScrollViewer
,占用整个空间,则不需要ListBox
。当ListBox
内容超出可用空间时,ScrollViewer.HorizontalScrollBarVisibility="Hidden"
已显示滚动条。
您可以单独控制使用ScrollViewer
显示哪个滚动条。
如果您有更多元素ItemTemplate
,请提供更多详细信息。
修改强>
你提供的XAML给了我这个结果(用粉红色的背景来显示列表框边界):
滚动整个列表框并剪切项目。这不是预期的效果吗?如果您希望每个列表框项目单独滚动,则需要指定自定义{{1}}。