我有一个带有ItemsControl的Scrollviewer。 ItemsControl(取决于其中的项目数)可以使用SCrollViewer滚动或不滚动。 我有一个控件,显示所有项目的总值。此控件需要在ItemsControl下。如果没有多少项目,它将在最后一个,而不是在页面底部,之间有很大的空间。 我做不到这一点。 有没有人有任何想法?这是我的一些代码:
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<DockPanel Grid.Row="0">
<!-- This is my Total Control - just a Border for the example -->
<Grid Margin="0,4" MaxHeight="60" VerticalAlignment="Top" DockPanel.Dock="Bottom">
<Border Background="Red" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
</Grid>
<ScrollViewer HorizontalContentAlignment="Stretch" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"
>
<ItemsControl HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ItemsSource="{Binding Path=ListeQuestions}" >
<ItemsControl.ItemTemplate>
<DataTemplate>
<concUCQuest:UCQuestion HorizontalAlignment="Stretch" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ScrollViewer>
</DockPanel>
Here is a link to a picture of what i try to get
我尝试了DockPanel,Grid into Grid,但我已经没有想法了。
感谢您的帮助!
答案 0 :(得分:0)
向Scrollviewer添加VerticalAlignment="Stretch"
应该可以解决问题。
答案 1 :(得分:0)
<Grid>
<DockPanel LastChildFill="True">
<!-- This is my Total Control - just a Border for the example -->
<Grid DockPanel.Dock="Bottom">
<Border Background="Red" Height="10"/>
</Grid>
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<ItemsControl HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<ItemsControl.ItemTemplate>
<DataTemplate>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ScrollViewer>
</DockPanel>
</Grid>
这对我有用。
您也可以将ListBox与DataTemplate一起使用,而不是使用ScrollViewer包装ItemsControl。