Windows 8 Metroアプリケーションでは、ビュー内の最後の項目に到達すると最初のループに戻るScrollViewerを作成できますか?ビューのアイテム?もしそうなら、どうやってこの効果を達成できますか?Windows 8 Metro(C++/XAML)でルーピング/循環ScrollViewerを作成する方法
答えて
WinRT/XAMLのようなコントロールがあるとは思わないので、カスタムコントロールを実装する必要があります。あなたが取ることができるアプローチはたくさんありますが、ScrollViewerの動作を要件に合わせるのが簡単でない可能性があるため、ScrollViewerの使用や操作イベントの直接処理は避けてください。私は、操作イベントに基づいてスクロールオフセットを制御し、スクロールオフセットに基づいて、ビュー内の要素を配置します。キャンバスコントロールを使用します。スクロールオフセットに応じて項目パネル内の要素の位置を変更する必要があります。たとえば、一方の端のビューポートを超える項目が他方の端に移動されるようにします。カスタム依存プロパティ、アイテムコンテナなどが必要です。これらのAPIをすべて知っていれば、おそらく少なくとも数時間の作業が必要になるでしょう。
間違いなく可能です。私は現時点で問題を解決しており、完了したら作業をポストします。これまでは以下のようになっています。
考えられるのは、スクロールビューアのviewchangedイベントにフックして、バーを移動するときにいつでも起動するということです。いったんそこにいると、アイテムのオフセットとサイズの位置を計算し、それを使ってリストボックスコンテナの実際のサイズや何があるかを測定することができます。
オフセットの位置を知り、リストボックスの実際の高さとアイテムの高さを知ると、現在表示されているアイテムと表示されていないアイテムが分かります。オブジェクトにバインドされたリストが、双方向バインディングでINotifyChangedインタフェースを実装する観察可能なコレクションであることを確認してください。次に、スクロールしている場所に基づいて前後に回転するオブジェクトのセットを定義することができます。
もう1つの方法は、異なる開始点を試すことです。おそらく、その下にマーキーとスクロールバーを備えた単一のコントロールを使用しますか?
XAML
</UserControl.Resources>
<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<ScrollViewer x:Name="ScrollViewer1">
<ListBox x:Name="SampleListBox" Background="White" ItemsSource="{Binding Path=sampleItems}" ItemTemplate="{StaticResource sampleTemplate}" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Grid.Row="0" Grid.RowSpan="2">
</ListBox>
</ScrollViewer>
</Grid>
コード
0123の後ろ- 1. Windows 8 Metroでのカスタムコントロールの作成
- 2. Visual StudioなしでWindows 8 Metroアプリケーション(HTML5)を作成する
- 3. Windows 8 Metro JavascriptではArrayDataSourceを作成できません。
- 4. Windows 8 Metroスタイルアプリ:マルチアプリパッケージ
- 5. Windows 8 Metro XAMLローカリゼーション
- 6. Windows 8 Metroスタイルアプリでカメラのフィードを取得する方法は?
- 7. フィクスチャで循環参照を作成する方法は?
- 8. Javaスイングで循環進捗コンポーネントを作成する方法
- 9. Windows 8 Metro open website/mailto C#
- 10. Windows 8のMetroアプリケーションをグループ化するMetro App
- 11. ViewGroupの循環クリップ境界を作成する方法
- 12. Windows 8 Metro環境で動作するC#でPingクラスを記述することは可能ですか?
- 13. Windows 8のWindows AzureとMetroスタイルのアプリケーション
- 14. カメラドライバMFTを作成してWindows 8 Metro Styleアプリで使用しますか?
- 15. Visual Studio 2010でWindows 7にWindows 8 Metroアプリケーションを構築する
- 16. WebView with Windows 8 MetroでのJavaScriptエラー
- 17. ZipArchive(zlib.net)なしのWindows 8 MetroでZIPファイルを解凍する方法
- 18. 一連のmatpyplot.pyplot imshowsを循環するアニメーションを作成する方法
- 19. Windows Phone 8でアダプティブUIを作成する方法は?
- 20. Metrofit HTML/javascriptアプリケーションからWindows 8 Metro?
- 21. SQLite Windows 8 Metro C#with sqlite-net
- 22. Google Places API wnd Windows 8 Metro Style App
- 23. Windows 8のBase UserControlクラスXAML Metro App
- 24. ターゲット間に人工的な循環依存関係を作成する方法
- 25. 2つのNodeJSプロジェクト間の循環依存関係を作成する方法
- 26. アンドロイドで循環セレクタを使ってイメージビューを作成する
- 27. Windows 8でカスタムフォントを読み込んでいますMetro App
- 28. 循環インポートを避ける方法
- 29. 循環参照テーブルで最初のユーザーを作成する
- 30. jQueryを使ってWindows 8 Metroアプリケーションを構築する
これまでにこれを解決しましたか?私はあなたのソリューションに興味があります。 – dex3703