2016-05-25 1 views
4

私のXamarinフォームアプリケーションでは、ScrollView内に複数のListViewコントロールがあります。しかし、アンドロイドでは、スクロールはListViewでは機能しません。代替ソリューションはありますか?XamarinはScrollViewの内部でListViewを発行します

+1

リストビュークラスは、独自のスクロールを実装しているためあなたはScrollView内のListViewを置くべきではない、それはちょうどので、ジェスチャーを受信しませんそれらはすべて親のScrollViewによって処理されます。 https://forums.xamarin.com/discussion/2857/listview-inside-scrollview –

答えて

7

リストビューをScrollViewに含めるべきではありません。システムはこれらの2つのスクロール動作を混同します。 これを念頭に置いてページを再設計する必要があります。

例:StackLayout 2の内部 1)を使用するリストビュー)ScrollView

3

内部使用TableViews ListViewコントロールはScrollViewと競合する可能性のある独自のスクロールを実装します。

あなたはScrollView

More about ListView performance内StackLayoutに置く、あなたは(たとえば代わり​​に細胞を使用する)カスタムビューを作成することができ、同じScrollViewに両方のリストをスクロールできるようにする必要がある場合、彼らも理由を説明ScrollView内にリストビューを配置しないでください

1

複数のリストビューの代わりに1つのリストビューを使用してみましたか?

5

ネイティブ側の 'NestedScrollingEnabled'プロパティをtrueに設定するだけで簡単に行うことができます。カスタムレンダラを作成して設定することができxamarinフォーム「NestedScrollingEnabled」プロパティについては 真

protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.ListView> e) 
    { 
     base.OnElementChanged(e); 

     if (e.NewElement != null) 
     { 
      var listView = this.Control as Android.Widget.ListView; 
      listView.NestedScrollingEnabled = true;    
     }    
    } 
+0

それは私のために働いた.... Thnxの仲間 –

関連する問題