3

多くのコンテンツ(データグリッド、スタックパネル、テキストボックス、ラベルなど)を含むScrollViewerがあり、その外側にボタン(PRINT)を追加したいのですが、ボタンが一部ではないことが重要ですスクロールビューア。私の目標は、画面の上部 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 に Scrollbar がないため、最初のページは表示されますが、下にスクロールできず、PRINT ボタンも表示されません。

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

スクロールバーが再び表示され(スクロールできるようになり)、PRINTボタンがその下にあり、常に表示されます(これはほぼ完璧です)が、ウィンドウを最大化すると、ScrollViewerの高さが600のままになり、実際には最大化されません(PRINT ボタンの下はすべて白です)。

何か案は?HEIGHTS を指定する別の方法はありますか、それとも (GRID ではなく) 別のコントロールを使用する必要がありますか? ありがとう、

4

1 に答える 1

4

それを見つけた ...

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

ScollViewer から高さを削除します

于 2013-02-24T19:49:38.570 に答える