如何在Scrollviewer上方获取页脚?

时间:2012-02-28 10:46:51

标签: c# wpf xaml scrollview

我有一个带有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,但我已经没有想法了。

感谢您的帮助!

2 个答案:

答案 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。