Xamarin.Forms ListViewXamarin.Forms ListView

サンプルのダウンロードサンプルをダウンロードします。Download Sample Download the sample

ListViewは、データのリストを表示するためのビューです。特に、スクロールが必要な長いリストです。ListView is a view for presenting lists of data, especially long lists that require scrolling.


CollectionViewは、さまざまなレイアウト仕様を使用してデータの一覧を表示するためのビューです。CollectionView is a view for presenting lists of data using different layout specifications. これは ListView の代わりとして、より柔軟でより高パフォーマンスを提供することを目的にしています。It aims to provide a more flexible, and performant alternative to ListView. 詳細については、「 CollectionView」を参照してください。For more information, see Xamarin.Forms CollectionView.

ユース ケースUse Cases

ListView は、ニーズに応じて適切なコントロールを確認します。Make sure ListView is the right control for your needs. ListView は、データのスクロール可能なリストを表示しているどのような状況で使用できます。ListView can be used in any situation where you are displaying scrollable lists of data. Listview は、コンテキスト アクションとデータ バインディングをサポートします。ListViews support context actions and data binding.

ListView と混同しないテーブルします。ListView should not be confused with TableView. テーブル コントロールは、オプションまたはデータの非バインド リストがあるたびより優れたオプションです。The TableView control is a better option whenever you have a non-bound list of options or data. たとえば、オプションのほとんどの場合に定義済みセットを持つ、iOS 設定アプリは、ListView よりテーブルを使用する適しています。For example, the iOS settings app, which has a mostly predefined set of options, is better suited to use TableView than ListView.

同種データも、ListView は、最適なが適しています–同じ型のすべてのデータは必ず、します。Also note that a ListView is best suited for homogeneous data – that is, all data should be of the same type. これは、セルの 1 つだけの種類を一覧内の行ごとに使用されるためです。This is because only one type of cell can be used for each row in the list. ビューを混在させる必要がある場合より適切なオプションをされるため、TableViews は複数のセルの種類をサポートできます。TableViews can support multiple cell types, so they are a better option when you need to mix views.


ListView が、さまざまなコンポーネントの各プラットフォームのネイティブ機能を実行するために使用できます。ListView has a number of components available to exercise the native functionality of each platform. これらの各コンポーネントは、以下について説明します。Each of these components is described below:

  • ヘッダーとフッター –リストのデータから先頭と、リストの末尾に表示するには、テキストまたはビューを分離します。Headers and Footers – Text or view to display at the beginning and end of a list, separate from list's data. ヘッダーとフッター バインドできますしないデータ ソースに個別に ListView のデータ ソースから。Headers and footers can be bound to a data source independently from the ListView's data source.
  • グループ –簡単に移動、ListView 内のデータをグループ化することができます。Groups – Data in a ListView can be grouped for easier navigation. 通常、グループは、バインドされたデータです。Groups are typically data bound:

  • セル –セルで、ListView でのデータが表示されます。Cells – Data in a ListView is presented in cells. 各セルは、データの行に対応します。Each cell corresponds to a row of data. 選択する組み込みのセルがまたは独自のカスタムのセルを定義することができます。There are built-in cells to choose from, or you can define your own custom cell. 組み込みとカスタムの両方のセルには、XAML またはコードで使用される定義を指定できます。Both built-in and custom cells can be used/defined in XAML or code.
    • 組み込み –各プラットフォームのネイティブ コントロールに対応するため、パフォーマンスの優れた設定できます。 セル、特に TextCell と ImageCell、組み込まれています。Built-in – Built in cells, especially TextCell and ImageCell, can be great for performance, since they correspond to native controls on each platform.
      • TextCell –詳細テキストを必要に応じて、テキストの文字列が表示されます。TextCell – Displays a string of text, optionally with detail text. 詳細なテキストはアクセントの色とフォント サイズを小さくの 2 行目としてレンダリングされます。Detail text is rendered as a second line in a smaller font with an accent color.
      • ImageCell –テキストとイメージを表示します。ImageCell – Displays an image with text. 左側のイメージの TextCell として表示されます。Appears as a TextCell with an image on the left.
    • カスタム セル –複雑なデータを表示する必要がある場合は、カスタムのセルは最適です。Custom Cells – Custom cells are great when you need to present complex data. たとえば、曲、アルバム、アーティストなどの一覧を提供するカスタム ビューを使用できます。For example, a custom view could be used to present a list of songs, including album and artist:

ListView 内のセルのカスタマイズに関する詳細については、ListView セルの外観のカスタマイズを参照してください。To learn more about customizing cells in a ListView, see Customizing ListView Cell Appearance.


ListView は、さまざまな相互作用のスタイル (など) をサポートしています。ListView supports a number of interaction styles, including:

  • プルして更新 – ListView は、各プラットフォームでプルして更新をサポートしています。Pull-to-Refresh – ListView supports pull-to-refresh on each platform.
  • コンテキスト アクション – ListView は、リスト内の個々 のアイテムに対するアクションの実行をサポートしています。Context Actions – ListView supports taking action on individual items in a list. たとえば、ios では、スワイプのアクションを実装したり時間の長い Android でのアクションをタップできます。For example, you can implement swipe-to-action on iOS, or long-tap actions on Android.
  • 選択範囲 –選択、および行がタップされたときに、アクションを実行する deselections をリッスンすることができます。Selection – You can listen for selections and deselections to take action when a row is tapped.

ListView の対話機能の詳細については、ListView の対話機能 (&)、アクションを参照してください。To learn more about the interactivity features of ListView, see Actions & Interactivity with ListView.