私のUWPのXboxアプリケーションでは、コンテンツがScrollViewerにあり、左スティックでコンテンツをスクロールできるようにしたいと考えています。スクロール領域を移動して要素をクリックするために使用できるように、このページでポインタカーソルを有効にしたいと思います。スティック/マウスポインタのスクロールが残っていますUWPのScrollViewerアプリ
これは基本的にページを下にスクロールするときにエッジブラウザが表示するのと同じ動作です...ポインタがコンテンツの端に来ると、スクロールが発生します。 、私はこのページにそれがある方法をロードする場合は、左スティックは私が任意の方向にScrollViewerのをスクロールすることができます
<Page
x:Class="MyApp.MyPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<ScrollViewer x:Name="RootScrollViewer" IsTabStop="True" ZoomMode="Enabled" HorizontalScrollMode="Enabled" HorizontalScrollBarVisibility="Visible" VerticalScrollMode="Enabled" VerticalScrollBarVisibility="Visible" >
<Grid x:Name="TheGrid" Width="1400" Height="1400" Margin="{StaticResource DefaultAllMargin}">
<Rectangle Width="315" Height="200" VerticalAlignment="Top" HorizontalAlignment="Left" Fill="Green"/>
<Rectangle Width="315" Height="200" VerticalAlignment="Bottom" HorizontalAlignment="Left" Fill="Blue"/>
<Rectangle Width="315" Height="200" VerticalAlignment="Center" HorizontalAlignment="Center" Fill="Blue"/>
<Rectangle Width="315" Height="200" VerticalAlignment="Bottom" HorizontalAlignment="Right" Fill="Blue"/>
<Rectangle Width="315" Height="200" VerticalAlignment="Top" HorizontalAlignment="Right" Fill="Blue"/>
</Grid>
</ScrollViewer>
</Grid>
:
私はこのようになりますサンプル・ページを持っていますそれは私が望むものに近いです。しかし、ポインタを有効にするために私のページコンストラクタに以下のコードを追加すると、ポインタが取得されますが、左スティックはページ内でポインタを移動しますが、ScrollViewerはスクロールしません。
this.RequiresPointer = RequiresPointer.WhenFocused;
どのように私はポインタとスクロールを達成することができますか?
更新:私はScrollViewerとWebViewを使っていくつかのテストアプリケーションを作成し、マウスの動作を比較しました。すぐに使えるWebViewの動作は、私が望むのとまったく同じです。私は左のスティックがスクロールを制御するためにポインタと右のスティックを制御したい。だから私の質問はこれです:ScrollViewer内のネイティブXAMLコンテンツをWebコンテンツ内のWebViewと同じように動作させる方法はありますか?
私の場合、ScrollViewerのRootScrollViewer.RequiresPointer = RequiresPointer.WhenFocusedを設定すると、ポインタが取得されません。ページの読み込み時に.Focus(...)をScrollViewerで呼び出そうとしましたが、まだScrollViewerにポインタがありません。 .RequiresPointer = RequiresPointer.WhenFocusedをページに設定すると、ポインタが取得されますが、スクロールビューアはスティックでスクロールしません。ロード時にScrollViewerで.Focus()を呼び出すかどうかを指定します – Scott