0

だから私は、水平または垂直スクロールバーを持つことができるウィンドウを作成しようとしています.キャッチは、グリッドの一番上の行を固定して配置する必要があり、垂直にスクロールできないことです(Excelの固定ペインのように). 水平スクロール バーは、両方のペインをスクロールする必要があります。私はそれをほとんど機能させています。これは、実証するコードのサブセットです。

<ScrollViewer HorizontalScrollBarVisibility="Auto"  VerticalScrollBarVisibility="Disabled">
    <Grid>
    <Grid.RowDefinitions>
        <RowDefinition />
        <RowDefinition />
    </Grid.RowDefinitions>

        <TextBlock Text="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" />
        <ScrollViewer Grid.Row="1" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" >
            <TextBlock Text="test2">
                <Run Text="&#10;test2" /><Run Text="&#10;test2" /><Run Text="&#10;test2" /><Run Text="&#10;test2" /><Run Text="&#10;test2" /><Run Text="&#10;test2" />
                <Run Text="&#10;test2" /><Run Text="&#10;test2" /><Run Text="&#10;test2" /><Run Text="&#10;test2" /><Run Text="&#10;test2" /><Run Text="&#10;test2" />
                <Run Text="&#10;test2" /><Run Text="&#10;test2" /><Run Text="&#10;test2" /><Run Text="&#10;test2" /><Run Text="&#10;test2" /><Run Text="&#10;test2" />
                <Run Text="&#10;test2" /><Run Text="&#10;test2" /><Run Text="&#10;test2" /><Run Text="&#10;test2" /><Run Text="&#10;test2" /><Run Text="&#10;test2" />
            </TextBlock>
        </ScrollViewer>
    </Grid>
</ScrollViewer>

したがって、これはほぼ正しく機能し、画面は水平方向にスクロールして両方のペインをスクロールでき、垂直方向にスクロールすると下部のペインのみがスクロールされます (これが必要です)。ただし、垂直スクロール バーはウィンドウの横に表示されないため、使用するには右端までスクロールする必要があります。スクロールバーをウィンドウにスナップさせ、上部ペインもスクロールさせずに垂直にスクロールさせる方法はありますか?

4

1 に答える 1

1

最初の ScrollViewer は、Grid に次のように伝えています。このため、スペースに制限がないため、内部の ScrollViewer がトリガーされることはありません。

その最初の ScrollViewer を削除してみてください。

- - 編集 - - - -

それで、両方の「パネル」は同じ幅になりますか?まあ..各パネルを独自のScrollViewerにラップします。トップ パネルには、水平方向の ScroolViewer が「非表示」になり、垂直方向の ScroolViewer は表示されません。下部には、可視または「自動」の両方が必要です。下部が変更されたときに上部の ScrollViewer を (コードで) 同期します ( http://perezgb.com/2009/07/08/how-to-keep-two-scrollviewers-in-sync-in-wpfを確認してください) 。

于 2012-08-29T18:42:57.060 に答える