0

FlipViewを使用してページ内のアイテムを表示しています。 Webサービスサポートページングからデータを取得しているので、ユーザーが現在の最後のアイテムにスクロールしたときにFlipViewにアイテムの次のページを追加しています。ページサイズが5の場合、FlipViewのSelectedIndexが4,9,14,19など(インデックスは0から始まる)であれば、5つのアイテムを追加します。FlipViewはデスクトップ内をナビゲートするための矢印を表示しません。ランタイムに多くのアイテムが追加されている場合

FlipViewには、マウスを使用してデスクトップ環境でFlipViewを操作できる小さな矢印が2つあります。私たちが最後のアイテムにいるとき、右矢印は消えるでしょう。これ以上行くことはできません。さて、この時点でリストに項目を追加すると、右矢印は再表示されないので、FlipViewに項目が増えているという印象はありません。

  1. 我々は左側にマウスを合わせると右の矢印は、唯一の私たちは、右矢印が良い解決策ではなく、それが必要と

あるべき場所でクリックし

  • 矢印再表示されますさらなるユーザー教育。この問題に対処する方法はありますか?

    問題を示すgit repoは、https://github.com/4bh1sh3k/FlipViewDemoです。問題を再現するには、最後の項目までスクロールし、以下のボタンを使用して項目をFlipViewに追加します。

  • 答えて

    1

    これは、コントロール自体によって決定される必要があります。ボタンが自動的に表示されるようにする場合は、さらに多くの項目を追加したあと、次のボタン(はFlipView style and template)を強制的に表示することがあります。 NextButtonHorizontalボタンを取得する方法については、VisualTreeHelperクラスを使用できます。例:

    private void OnButtonClick(object sender, RoutedEventArgs e) 
    { 
        AddImageUris(); 
        IEnumerable<Button> items = FindVisualChildren<Button>(myFlipView); 
        foreach (Button item in items) 
        { 
         if (item.Name == "NextButtonHorizontal") 
         { 
          item.Visibility = Visibility; 
         } 
        } 
    } 
    private static IEnumerable<T> FindVisualChildren<T>(DependencyObject depObj) where T : DependencyObject 
    { 
        if (depObj != null) 
        { 
         for (int i = 0; i < VisualTreeHelper.GetChildrenCount(depObj); i++) 
         { 
          DependencyObject child = VisualTreeHelper.GetChild(depObj, i); 
          if (child != null && child is T) 
          { 
           yield return (T)child; 
          } 
    
          foreach (T childOfChild in FindVisualChildren<T>(child)) 
          { 
           yield return childOfChild; 
          } 
         } 
        } 
    } 
    

    ところで、これは問題を解決することができますが、私はそれをお勧めしません。大規模なコレクション、大規模なコレクションの場合は、フリップビューコントロールを使用しないでください。ListViewまたはGridViewと考えてください。詳細はFlipView guidelinesを参照してください。

    +0

    素晴らしい作品です!私はそれがコントロールそのものの責任でなければならないことに同意します。 – Abhishek

    関連する問題