他のコントロールを含み、一連のデータを表示するコントロール。
Description
ギャラリー コントロールは、1 つのデータ ソースから複数のレコードを表示でき、各レコードには複数の種類のデータを含めることができます。 たとえば、 ギャラリー コントロールを使用して、各連絡先の名前、住所、電話番号を含む連絡先情報を示す複数の連絡先を各項目に表示します。
各データ フィールドは 、ギャラリー コントロール内の個別のコントロールに表示されます。 また、テンプレートでこれらのコントロールを構成できます。 テンプレートは、ギャラリー内の最初の項目として表示されます。
- ギャラリー コントロールの左端の水平方向または横向き。
- ギャラリー コントロールの上部で、垂直方向または縦向きにします。
テンプレートで行った変更は、 ギャラリー コントロール全体に反映されます。
ギャラリー内の画像とテキストを表示するための定義済みのテンプレートと、高さが可変の項目のギャラリーを使用できます。
制限事項
ギャラリー コントロールには、次の制限があります。
- すべての項目が読み込まれる前にユーザーが フレキシブル高さ ギャラリー コントロールをスクロールすると、データの読み込みが完了したときに、現在表示されている項目が下にプッシュされたり、ビューから外されたりする可能性があります。 この問題を回避するには、柔軟な高さのバリアントではなく、標準のギャラリー コントロールを使用します。
- ギャラリー内では、次のコントロールはサポートされていません。
- ギャラリーが既に別のギャラリー内にある場合は、別のギャラリー内にギャラリーを追加することはできません。 入れ子の最大レベルは 2 です。
- 最小 TemplateSize は 1 です。 これにより、テンプレート サイズを考慮しないと、 ギャラリー 内のコントロールが予想される X 値または Y 値から誤差を生じる可能性があります。
- データからアプリを自動的に生成し、アプリを保存してから再度開くと、参照ギャラリーにデータがすぐに表示されないことがあります。 この問題を解決するには、検索ボックスに少なくとも 1 文字を入力し、入力したテキストを削除します。 その後、ギャラリーに期待どおりにデータが表示されます。
- ギャラリーに、ギャラリーと同じデータ ソースまたはコレクションに修正プログラムを適用する
OnChange
ルールを持つ ComboBox、DatePicker、Slider、または Toggle コントロールが含まれている場合、予期しないパフォーマンスやパフォーマンス低下につながる可能性があります。 これは、ギャラリーのデータ ソースにパッチを適用するOnChange
ルールによって、修正プログラムの適用と再読み込みの終わりのないサイクルが作成される可能性があるためです。 この問題を回避するには、これらのコントロールがギャラリー内に配置されている場合は、OnChange
ルールを使用しないことをお勧めします。
重要なプロパティ
既定値 – アプリの起動時にギャラリーで選択されるデータ ソースの項目またはレコード。
アイテム – ギャラリー、リスト、グラフなどのコントロールに表示されるデータのソース。
選択済み – 選択した項目。
追加のプロパティ
AccessibleLabel – スクリーン リーダー用のギャラリーのラベル (含まれている項目ではありません)。 項目の一覧を記述する必要があります。
AllItems – ギャラリーに読み込まれる項目。 これは、データ ソースの アイテム の実際の数よりも少ない場合があります。 ギャラリーをスクロールすると、さらに多くの項目が読み込まれる場合があります。 AllItems には、 各ギャラリー 項目で使用されるコントロールも含まれています。
AllItemsCount - ギャラリーに読み込まれた項目の数。 これは、データ ソースの アイテム の実際の数よりも少ない場合があります。 ギャラリーをスクロールすると、さらに多くの項目が読み込まれる場合があります。
BorderColor – コントロールの境界線の色。
BorderStyle – コントロールの境界線が Solid、Dashed、Doted、None のいずれであるか。
BorderThickness – コントロールの境界線の太さ。
DelayItemLoading - 画面が最初に読み込まれるまで項目 (行) の読み込みを遅延します。
DisplayMode – コントロールでユーザー入力 (編集) を許可するか、データのみを表示するか (表示)、無効 (無効) にするかを指定します。
塗りつぶし – コントロールの背景色。
Height – コントロールの上端と下端の間の距離。
ItemAccessibleLabel – スクリーン リーダーの各ギャラリー項目のラベル。 各項目の内容を記述する必要があります。
LoadingSpinner (None、 Controls 、または Data) - None の場合、スピナーは表示されません。 When Controls |データ、スピナーは、レンダリング パスが発生すると表示され、空の行が表示されます。
LoadingSpinnerColor - 読み込みスピナーの塗りつぶしの色。 既定値は BorderColor に設定されています。
NavigationStep – ShowNavigation プロパティが true に設定され、ユーザーがそのギャラリーのいずれかの端にあるナビゲーション矢印を選択した場合、ギャラリーがスクロールする距離。
選択可能 – ギャラリー項目を選択できるかどうか。 true に設定すると、スクリーン リーダーはギャラリーを選択可能なリストとして識別します。 また、項目を選択して選択します。 false に設定すると、スクリーン リーダーはギャラリーを通常のリストとして識別し、項目を選択しても選択されません。
ShowNavigation – 矢印を選択してユーザーがギャラリー内の項目をスクロールできるように、ギャラリーの各端に矢印を表示するかどうかを指定します。
ShowScrollbar – ユーザーがギャラリーの上にマウス ポインターを置いたときにスクロール バーが表示されるかどうか。
TemplateFill – ギャラリーの背景色。
TemplatePadding – ギャラリー内の項目間の距離。
TemplateSize – ギャラリーの垂直方向または縦向きのテンプレートの高さ。 または、ギャラリーの横向きまたは横向きのテンプレートの幅。 最小サイズは 1 です。
切り替え – ユーザーがギャラリー内の項目の上にマウス ポインターを合わせた場合の視覚効果 (Pop、Push、None)。
表示 – コントロールが表示されるか非表示になっているか。
幅 – コントロールの左端と右端の間の距離。
WrapCount – 水平方向または垂直方向のレイアウトに基づいて行または列ごとに表示される項目の数。
X – コントロールの左端と、その親コンテナーまたは画面の左端との間の距離。
Y – コントロールの上端と親コンテナーまたは画面の上端との間の距離。
関連する関数
Reset( Control ) - ギャラリーを初期状態に戻します。 初期状態には、最初の項目までスクロールし、最初の項目を選択するか、存在する場合は既定値を選択します。
注
リセット コントロールは、ギャラリーのすべての子を再帰的にリセットするわけではありません。
例示
データの表示とフィルター処理
ユーザーからデータを取得する
アクセシビリティ ガイドライン
色のコントラスト
ギャラリー項目内の任意の場所をクリックして選択する場合は、次の間に適切な色のコントラストが必要です。
- BorderColor とギャラリーの外側の色 (罫線がある場合)。
- 塗りつぶしとギャラリーの外側の色 (罫線がない場合)。
スクリーン リーダーのサポート
AccessibleLabel が存在する必要があります。
注
ギャラリー内の項目が変更されると、スクリーン リーダーによって読み上げられます。 AccessibleLabel についても説明します。 これはアナウンスにコンテキストを与え、同じ画面上に複数のギャラリーがある場合にさらに重要です。
ギャラリー項目に複数のコントロールが含まれている場合は、 ItemAccessibleLabel を使用してギャラリー項目の内容を表示します。
ユーザーがギャラリー 項目を選択する場合は、 Selectable の値を true に設定します。 それ以外の場合は、その値を false に設定 します。
ギャラリー項目に複数のコントロールが含まれている場合は、 ItemAccessibleLabel を使用して、ギャラリー 項目の内容の概要を提供します。
ユーザー がギャラリー項目を選択するかどうかに応じて、選択可能な項目を適切に設定する必要があります。
キーボードのサポート
ShowScrollbar を true に設定することを検討してください。 ほとんどのタッチ スクリーン デバイスでは、スクロールが開始されるまでスクロール バーは表示されません。
ギャラリー項目内の任意の場所をクリックして選択する場合は、キーボード ユーザーがギャラリー項目を選択する方法も必要です。 たとえば、OnSelect プロパティが Select(Parent) に設定されている Button を追加します。
注
ギャラリー外のコントロールは、ギャラリー内のキーボード ナビゲーション順序では考慮されません。 ギャラリー内の TabIndex コントロールはスコープが設定されます。 詳細については 、アクセシビリティ プロパティ を参照してください。