UWPのScrollViewerでスクロール位置の同期を行うメモ

公開日: : 最終更新日:2016/07/16 Blog, Microsoft , ,

複数のScrollViewerのスクロール位置を同期したい場合、WPFではScrollChangedイベントでもう一方のスクロール位置を調整することで実現できていた。
UWPのScrollViewerにはScrollChangedイベントが無い。
UWPではViewChangedイベントで同様の実装を行うことが出来る。

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <Grid.RowDefinitions>
        <RowDefinition />
        <RowDefinition />
    </Grid.RowDefinitions>
    <ScrollViewer x:Name="scroll1" Grid.Row="0" Margin="10" 
                  HorizontalScrollBarVisibility="Visible"
                  ViewChanged="scroll1_ViewChanged">
        <ContentControl Width="10000" />
    </ScrollViewer>
    <ScrollViewer x:Name="scroll2" Grid.Row="1" Margin="10" 
                  HorizontalScrollBarVisibility="Visible"
                  ViewChanged="scroll2_ViewChanged">
        <ContentControl Width="10000" />
    </ScrollViewer>
</Grid>
private void scroll1_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
{
    if (scroll1.HorizontalOffset != scroll2.HorizontalOffset)
    {
        scroll2.ScrollToHorizontalOffset(scroll1.HorizontalOffset);
    }
}

private void scroll2_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
{
    if (scroll1.HorizontalOffset != scroll2.HorizontalOffset)
    {
        scroll1.ScrollToHorizontalOffset(scroll2.HorizontalOffset);
    }
}

関連記事

App Service Linux (Docker) 環境で、コンテナ内の Nginx のログをAzureポータルから確認

何も設定しない場合はSSHでアクセスしてログ参照する 通常はコンテナ内の /var/log/ngi

記事を読む

【WPF/XAML】Colorsクラスのカラーテーブル

http://msdn.microsoft.com/ja-jp/library/system.win

記事を読む

【iPhoneアプリ】リリース手順〜審査完了後〜

前回からの続き。 中身が無いアプリだったのでリジェクトされると思いきや 審査に通ってしま

記事を読む

no image

No registered resource provider found for location ‘Japan East’ and API version ‘2.0’ for type ‘servers’.

Visual Studio から Azure Web Apps をデプロイするときに発生したエラーの

記事を読む

no image

Windows10 IoT CoreでWindowsアップデートの自動実行を停止する

Manage IoT Core device updates このリンクにアップデートコントロール

記事を読む

no image

‘System.Windows.Navigation.BaseUriHelper’ のタイプ初期化子が例外をスローしました。

作成した.NETアプリケーション(WPF)が起動しない。 今回は構成ファイル(app.config)

記事を読む

拡張温度に対応した Windows 10 IoT Core ボード

Windows 10 IoT Core 対応ボード その2 こっちは拡張温度対応している。 Ban

記事を読む

【VisualStudio2015】UWPアプリケーションのXAMLデザイナにて「パッケージを登録できませんでした。」

VisualStudio2015 / UWPアプリケーション / XAMLデザイナ / エラー のメ

記事を読む

初心者でも手順どおりに従うだけでロゴ画像が作れる

Webサイトを作ったので、ここを参考に ロゴ制作の練習をしました。  

記事を読む

【iPhoneアプリ】多言語対応させる1

iPhoneアプリを多言語対応(iPhone端末の言語設定によってアプリケーションの言語も切り替える

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP ↑