2

以下に説明するレイアウトがあります。

<ScrollViewer>
  <StackPanel Orientation="Horizontal">
     <!-- ... -->
     <ScrollViewer>
        <ItemsControl.ItemsPanel>
             <ItemsPanelTemplate>
                   <StackPanel ScrollViewer.VerticalScrollBarVisibility="Visible"  Orientation="Vertical" />
             </ItemsPanelTemplate>
         </ItemsControl.ItemsPanel> 
     </ScrollViewer>

      <!-- ... -->
  </StackPanel>
</ScrollViewer>

そして、天気アプリにあるその効果を実現したいと思います。

私のアプリケーションでは、マウス ホイールを使用して水平方向にスクロールしているときに、ポインターが ItemsControl を超えるとすぐに垂直方向にスクロールし始めますが、天気予報アプリケーションでは流暢な水平方向のスクロール効果があり、その垂直コレクションをホバーすると垂直方向にスクロールが始まります。

その動作はデフォルトでどこかに実装されていますか?

シモン

4

2 に答える 2

2

一般に、ガイドラインでは、水平スクロール リピーターに垂直スクロールを導入することはお勧めできません。Weather (または標準の Windows 8 アプリ) をエミュレートするモデルと見なすべきではないと思います。それらのほとんどは、いくつかの最悪の方法でガイドラインに違反しています。

Weather アプリは、現在のマウスの配置、グリッドの動き、およびフォーカスのあるコントロールに基づいて、求めていることを実行します。これは複雑な言い方です。一部の開発者は、UI をユーザーにとって可能な限り混乱させるためのソリューションを考え出しました。

しないでください。

于 2013-03-03T23:00:55.183 に答える
0

その効果を達成するために彼らがしていると私が思うことはこれです:

マウスが垂直リスト上にしばらくあると、水平スクロールが非アクティブになり、垂直スクロールがアクティブになります。マウスがリストの外に移動すると、元に戻ります (垂直スクロールを無効にし、水平スクロールを有効にします)。

これが機能するかどうかを確認するためにこれをテストしていませんが、そうすべきだと思います。

于 2013-03-03T21:51:05.780 に答える