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 。 相反,它可以对使用 Layout的控件产生影响,例如 ItemsView 控件。 在其 ItemsViewTryGetItemIndex 方法的内部实现及其基于键盘的导航的内置处理中,使用此属性的值。

例如, LinedFlowLayout 布局指定 LeftToRight。 因此,向右键和向左键会根据其索引移动到项。 从索引移动到索引) (N ,向右键导航到下一个索引 N+1 。 从索引移动到索引) (N ,向左键导航到上一个索引 N-1 。 另一方面,向上键和向下键会根据其物理位置移动到项。

当 为 TopToBottomIndexBasedLayoutOrientation,行为将相反。

当 为 NoneIndexBasedLayoutOrientation,所有四个箭头键都基于项的物理位置(而不是其索引)移动到该项。

此表中的插图直观地表示 的可能值 IndexBasedLayoutOrientation

IndexBasedLayoutOrientation 图示
LeftToRight
随着索引的增加,项目将水平布局。
IndexBasedLayoutOrientation 的 LeftToRight 值的插图
TopToBottom
随着索引的增加,项垂直布局。
IndexBasedLayoutOrientation 的 TopToBottom 值的插图
None
项的布局与其索引号之间没有相关性。
IndexBasedLayoutOrientation 的 None 值的插图

适用于

另请参阅