如何添加滚动查看器后始终可见的按钮?

时间:2013-02-24 18:16:49

标签: wpf xaml scrollviewer

我有一个ScrollViewer,它包含很多内容(数据网格,堆栈面板,文本框,标签等等),在它之外我想添加一个按钮(PRINT),按钮是重要的不属于ScrollViewer。我的目标是我的屏幕的前90%是滚动查看器,而底部的10%是一个“冻结的面板”,它总是显示PRINT按钮,这在最大化和最小化时应该保持为真。

在遇到问题之后'属性内容设置多了一次'我意识到我需要将我的ScrollViewer和Button添加到另一个容器中,到目前为止,唯一似乎有效的是GRID - 但老实说如果您有任何其他建议我阅读此内容后我会接受建议,我只使用GRID,因为它似乎几乎给了我想要的东西。

这是我现在的代码:

[Code]
<Window DataContext="{Binding PrintView, Source={StaticResource Locator}}" Width="900">

    <Grid Height="Auto">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>        

        <ScrollViewer Name="PrintView" Grid.Row="0" Height="Auto">
            <StackPanel>
        ... a LOT of stuff ...
            </StackPanel>
        </ScrollViewer>

        <Button Content="Print"
                Margin="0,20,0,20"
                Height="50"
                Width="150"
                FontSize="24"
                FontWeight="Bold"
                Grid.Row="1"
                />
    </Grid>
</Window>
[Code]

当这样完成时我的ScrollViewer没有滚动条,所以我看到第一页但是我无法向下滚动,也没有看到PRINT按钮 一个有趣的测试是改变以下内容:

<ScrollViewer Name="Apercu" Grid.Row="0" Height="600">

现在我再次看到我的滚动条(并且我可以滚动)并且我的PRINT按钮是它并且始终可见(这几乎是完美的)但是当我最大化我的窗口时,ScrollViewer保持600的高度,因此它没有实际上最大化(PRINT按钮下方的所有内容都只是白色)。

有什么想法吗?有没有其他方法可以指定我的高度,或者我应该使用不同的控件(不是GRID)? 谢谢,

1 个答案:

答案 0 :(得分:3)

发现它......

        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions> 

从ScollViewer中删除高度