ユーザーがlistViewをスクロールしたときに、Whatsappに表示される検索ボックスと同様に、グリッドをスクロールするときにSearchBoxを表示したいとします。私は、いつでも見ることができる単純な検索ボックスを追加する方法を知っていますが、UWPではiOSと同じ動作をすることが可能ですか?これを達成するためのiOSのWhatsappと同じUWPのグリッドのスクロールにsearchboxを表示するには?
答えて
一つの方法は、ScrollViewers ViewChangedイベントハンドラは、スクロールの種類を確認することによってです。このScrollViewerのは、私が垂直距離、すなわち、少量をスクロールしていた場合、このコードの行の下にいるときなど
private double previousScrollPosition = -1;
private async void ScrollViewer_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
{
try
{
ScrollViewer Scroller = sender as ScrollViewer;
var verticalOffsetValue = Scroller.VerticalOffset;
var maxVerticalOffsetValue = Scroller.ExtentHeight - Scroller.ViewportHeight;
if (previousScrollPosition < Scroller.VerticalOffset)
{
await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
() =>
{
previousScrollPosition = Scroller.VerticalOffset;
SearchSP.Visibility = Visibility.Collapsed;
});
}
else if (previousScrollPosition > Scroller.VerticalOffset + 70 || Scroller.VerticalOffset == 0)
{
await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
() =>
{
previousScrollPosition = Scroller.VerticalOffset;
SearchSP.Visibility = Visibility.Visible;
});
}
}
catch (Exception ex)
{
Debug.WriteLine("Error in scrollviewer changed " + ex.Message);
}
}
リストビューの一部で、GridViewコントロールすることができ、70はその後、サーチを示すがない場合は変更がオフセット+ 70より大きい場合、SearchBoxが表示されます。また、スクロールビューアが上部にある場合はそれを表示します。
previousScrollPosition > Scroller.VerticalOffset + 70 || Scroller.VerticalOffset == 0
あなたが一番上にいるときだけ、検索ボックスが必要なので、上記のコード行を唯一で置き換えてくださいScroller.VerticalOffset == 0
ありがとうございます。これは期待通りに機能しますが、 'var maxVerticalOffsetValue = Scroller.ExtentHeight - Scroller.ViewportHeight;'と 'previousScrollPosition> Scroller.VerticalOffset + 70の使い方について説明できます。 Scroller.VerticalOffset == 0' –
また、下から上に垂直スクロールしたときにsearchboxが表示されます。これは、ジェスチャを実行してリフレッシュするときに表示される可能性がありますか? –
編集を確認してください。 – AbsoluteSith
- 1. ユーザーのスクロール方向に応じてNavigationBarの非表示と表示IOS SWIFT
- 2. iOSのスクロール表示を無効にする自動スクロールする
- 3. グリッド表示と同じ機能を持つグリッド表示の代替コントロールはありますか?
- 4. iOSストーリーボードコンテンツを表示するスクロール表示
- 5. 同じカテゴリの次と前のボタンを表示するには?
- 6. iOS TwitterKitでリツイートと同様のカウントを表示するには?
- 7. UWPアプリケーションにWhatsappを統合
- 8. iOSカードのスワイプアニメーションとスクロール表示
- 9. グリッド列が表示されているのと同じ順序でアクセスする
- 10. Androidの連絡先リストFirebaseデータベースを使用しているWhatsappと同じように表示
- 11. 新しいグリッドを別のグリッドと同じにしたい
- 12. キーボードが表示されるときにスクロールを表示するios
- 13. GridViewColumnの幅をグリッドの幅と同じにする方法
- 14. グリッド - 行とテキストブロックの表示を非表示にする
- 15. IOSスウィフト - グリッド表示レイアウト
- 16. phpの同じページにエラーメッセージを表示するには
- 17. 同じ行に2つのウィジェットを表示するには
- 18. UWPのTelerikCalendarで現在の月のchageを表示するときにuwpコントロールを表示する方法
- 19. 違いの表示ウェブサイトは同じブラウザと同じバージョン
- 20. テキストとカスタムトグルを同じ行に表示
- 21. 同じ行にラベルとドロップダウンを表示
- 22. UWPのステータスバーを非表示にする
- 23. ListView.ItemTemplateでグリッドの幅をListViewItemと同じ幅にする
- 24. Androidの同じ画面にビデオとボタンを表示する
- 25. ヘッダーの同じ行にテキストとイメージを表示する
- 26. 同じカテゴリのすべての記事を同じリストに表示する
- 27. Vaadinにグリッドを表示するには?
- 28. RecyclerViewをスクロールするときのLinearLayoutの表示/非表示は?
- 29. スクロール中にキーボードを閉じるとテキストメッセージが表示される
- 30. グリッドの列を非表示にする
あなたはもっと明確になることができます。おそらく必要なアクションのGIFをアップロードしますか? – AbsoluteSith
iOS Whatsapp Appでは、チャットのリストをスクロールしたときにこれらの検索ボックスが表示されますが、同様の動作を追加します。デフォルトではSearchBoxを非表示にし、ユーザーがスクロールすると検索ボックスが表示されます。 –