次の方法で共有


Layout.IndexBasedLayoutOrientation プロパティ

定義

ソース コレクション内のインデックスに基づいて項目がレイアウトされる方向 (存在する場合) を取得します。

public:
 property IndexBasedLayoutOrientation IndexBasedLayoutOrientation { IndexBasedLayoutOrientation get(); };
IndexBasedLayoutOrientation IndexBasedLayoutOrientation();
public IndexBasedLayoutOrientation IndexBasedLayoutOrientation { get; }
var indexBasedLayoutOrientation = layout.indexBasedLayoutOrientation;
Public ReadOnly Property IndexBasedLayoutOrientation As IndexBasedLayoutOrientation

プロパティ値

ソース コレクション内のインデックスに基づいて項目がレイアウトされる方向 (存在する場合) を示す列挙体の値。 既定値は です None (「解説」を参照)。

注釈

派生クラスごとに Layout、このプロパティの独自の既定値を指定できます。 NonVirtualizingLayoutVirtualizingLayout の両方で、既定値として IndexBasedLayoutOrientation.None を指定します。 LinedFlowLayout は を指定します LeftToRight。 カスタム レイアウトでは、保護された SetIndexBasedLayoutOrientation メソッドを呼び出して、このプロパティの値を設定します。

プロパティを IndexBasedLayoutOrientation 使用すると、インデックス位置の項目がインデックス N+1 位置の項目 N の右側か下にあるかを判断できます (または、どちらも使用できません)。 これにより、 ItemsView などのコントロールで、方向キーを使用してキーボード ナビゲーションを正しく実装できます。

プロパティ自体 IndexBasedLayoutOrientation には影響 Layout しません。 代わりに、ItemsView コントロールのように、 を使用Layoutするコントロールに影響を及ぼす可能性があります。 では ItemsViewTryGetItemIndex メソッドの内部実装と、キーボード ベースのナビゲーションの組み込み処理で、このプロパティの値が使用されます。

たとえば、 LinedFlowLayout レイアウトでは を指定します LeftToRight。 その結果、右方向キーと左方向キーは、インデックスに基づいて項目に移動します。 右方向キーは、次のインデックス (インデックス N からインデックスへの移動) に移動します N+1。 左方向キーは、前のインデックス (インデックス N からインデックスへの移動) に移動します N-1。 一方、上方向キーと下方向キーは、物理的な位置に基づいて項目に移動します。

が のTopToBottom場合IndexBasedLayoutOrientation、動作は逆になります。

が のNone場合IndexBasedLayoutOrientation、4 つの方向キーはすべて、インデックスではなく、物理的な場所に基づいて項目に移動します。

この表の図は、 の使用可能な値 IndexBasedLayoutOrientationを視覚的に表しています。

IndexBasedLayoutOrientation
LeftToRight
項目は、インデックスを増やして水平方向にレイアウトされます。
IndexBasedLayoutOrientation の LeftToRight 値の図
TopToBottom
項目は、インデックスを増やして垂直方向にレイアウトされます。
IndexBasedLayoutOrientation の TopToBottom 値の図
None
アイテムのレイアウトとインデックス番号の間に相関関係はありません。
IndexBasedLayoutOrientation の None 値の図

適用対象

こちらもご覧ください