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. Javaスイングで循環進捗コンポーネントを作成する方法
- 5. フィクスチャで循環参照を作成する方法は?
- 6. Windows 8 Metro XAMLローカリゼーション
- 7. Windows 8 Metroスタイルアプリ:マルチアプリパッケージ
- 8. Windows 8 Metroスタイルアプリでカメラのフィードを取得する方法は?
- 9. Windows 8 Metro open website/mailto C#
- 10. Windows 8 Metro環境で動作するC#でPingクラスを記述することは可能ですか?
- 11. Windows 8のMetroアプリケーションをグループ化するMetro App
- 12. カメラドライバMFTを作成してWindows 8 Metro Styleアプリで使用しますか?
- 13. Windows 8のWindows AzureとMetroスタイルのアプリケーション
- 14. Visual Studio 2010でWindows 7にWindows 8 Metroアプリケーションを構築する
- 15. WebView with Windows 8 MetroでのJavaScriptエラー
- 16. ZipArchive(zlib.net)なしのWindows 8 MetroでZIPファイルを解凍する方法
- 17. アンドロイドで循環セレクタを使ってイメージビューを作成する
- 18. Windows 8のBase UserControlクラスXAML Metro App
- 19. Metrofit HTML/javascriptアプリケーションからWindows 8 Metro?
- 20. Google Places API wnd Windows 8 Metro Style App
- 21. SQLite Windows 8 Metro C#with sqlite-net
- 22. Pythonで循環(循環)インポートを回避するには?
- 23. Windows 8でカスタムフォントを読み込んでいますMetro App
- 24. C#で循環リンクリストを作成していますか?
- 25. jQueryを使ってWindows 8 Metroアプリケーションを構築する
- 26. Windows 8(Metro)アプリでXAMLコントロールのhWndを取得しますか?
- 27. JavaでWindows Metroスタイルのアプリケーションを作成しますか?
- 28. Silverlightコントロールにカメラのストリームを描画するには - Metro&Windows 8
- 29. Windows 8 Metroアプリケーションをコンパイルする際の問題
- 30. appbar(Windows 8 Metro)を終了するには
これまでにこれを解決しましたか?私はあなたのソリューションに興味があります。 – dex3703