Share via


UniformGridLayout 클래스

정의

래핑 레이아웃에서 요소를 왼쪽에서 오른쪽 또는 위쪽에서 아래쪽으로 순차적으로 배치합니다.

/// [Microsoft.UI.Xaml.CustomAttributes.MUXContractProperty(version=0)]
/// [Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
/// [Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackMethodName(value="OnPropertyChanged")]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Version(1)]
class UniformGridLayout : VirtualizingLayout
/// [Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
/// [Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackMethodName(value="OnPropertyChanged")]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.XamlContract, 65536)]
class UniformGridLayout : VirtualizingLayout
[Microsoft.UI.Xaml.CustomAttributes.MUXContractProperty(version=0)]
[Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
[Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackMethodName(value="OnPropertyChanged")]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Version(1)]
public class UniformGridLayout : VirtualizingLayout
[Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
[Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackMethodName(value="OnPropertyChanged")]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.XamlContract), 65536)]
public class UniformGridLayout : VirtualizingLayout
Public Class UniformGridLayout
Inherits VirtualizingLayout
상속
Object IInspectable DependencyObject Layout VirtualizingLayout UniformGridLayout
특성
Microsoft.UI.Xaml.CustomAttributes.MUXContractPropertyAttribute Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackAttribute Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackMethodNameAttribute MarshalingBehaviorAttribute ThreadingAttribute VersionAttribute ContractVersionAttribute

예제

자세한 정보, 디자인 지침 및 코드 예제는 ItemsRepeater를 참조하세요.

WinUI 3 갤러리 앱에는 대부분의 WinUI 3 컨트롤, 기능 및 기능의 대화형 예제가 포함되어 있습니다. Microsoft Store에서 앱을 다운로드하거나 GitHub에서 소스 코드를 가져오세요.

다음 예제에서는 ItemsRepeater.Layout 속성을 UniformGridLayout으로 설정하는 방법을 보여줍니다.

<!--
    xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
-->
...
<muxc:ItemsRepeater ItemsSource="{x:Bind Items}"
                    ItemTemplate="{StaticResource MyTemplate}">
    <muxc:ItemsRepeater.Layout>
        <muxc:UniformGridLayout MinItemWidth="200"
                                MinColumnSpacing="28"
                                ItemsJustification="SpaceAround"/>
    </muxc:ItemsRepeater.Layout>
</muxc:ItemsRepeater>

설명

방향이 이면 항목이 왼쪽에서 오른쪽으로 정렬되고 방향Horizontal일 때 위쪽에서 아래쪽으로 배치됩니다.Vertical

UniformGridLayout의 모든 항목 크기는 동일하게 조정됩니다.

UniformGridLayout은 가상화를 지원하는 호스트에 연결할 때 가상화를 지원합니다.

생성자

UniformGridLayout()

UniformGridLayout 클래스의 새 instance 초기화합니다.

속성

Dispatcher

항상 Windows 앱 SDK 앱에서 를 반환 null 합니다. 대신 DispatcherQueue 를 사용합니다.

(다음에서 상속됨 DependencyObject)
DispatcherQueue

DispatcherQueue 이 개체가 연결된 을 가져옵니다. 는 DispatcherQueue 코드가 비 UI 스레드에 의해 시작되더라도 UI 스레드에서 에 액세스할 DependencyObject 수 있는 기능을 나타냅니다.

(다음에서 상속됨 DependencyObject)
IndexBasedLayoutOrientation

원본 컬렉션의 인덱스 기반 항목이 배치되는 방향(있는 경우)을 가져옵니다.

(다음에서 상속됨 Layout)
ItemsJustification

항목이 스크롤되지 않거나 가상화되지 않는 축에 정렬되는 방식을 나타내는 값을 가져오거나 설정합니다.

ItemsJustificationProperty

ItemsJustification 종속성 속성을 식별합니다.

ItemsStretch

사용 가능한 공간을 채우기 위해 항목의 크기를 지정하는 방법을 나타내는 값을 가져오거나 설정합니다.

ItemsStretchProperty

ItemsStretch 종속성 속성을 식별합니다.

MaximumRowsOrColumns

UniformGridLayout의 방향에 따라 행 또는 열당 렌더링되는 최대 항목 수를 가져오거나 설정합니다.

MaximumRowsOrColumnsProperty

MaximumRowsOrColumns 종속성 속성을 식별합니다.

MinColumnSpacing

가로 축의 항목 사이의 최소 공간을 가져오거나 설정합니다.

MinColumnSpacingProperty

MinColumnSpacing 종속성 속성을 식별합니다.

MinItemHeight

각 항목의 최소 높이를 가져오거나 설정합니다.

MinItemHeightProperty

MinItemHeight 종속성 속성을 식별합니다.

MinItemWidth

각 항목의 최소 너비를 가져오거나 설정합니다.

MinItemWidthProperty

MinItemWidth 종속성 속성을 식별합니다.

MinRowSpacing

세로 축의 항목 사이의 최소 공간을 가져오거나 설정합니다.

MinRowSpacingProperty

MinRowSpacing 종속성 속성을 식별합니다.

Orientation

항목이 배치되는 축을 가져오거나 설정합니다.

OrientationProperty

Orientation 종속성 속성을 식별합니다.

메서드

Arrange(LayoutContext, Size)

자식 요소를 배치하고 컨테이너 UIElement의 크기를 결정합니다. 연결된 레이아웃을 지원하는 컨테이너 요소는 레이아웃 재정의 구현에서 이 메서드를 호출하여 재귀 레이아웃 업데이트를 구성해야 합니다.

(다음에서 상속됨 Layout)
ArrangeOverride(VirtualizingLayoutContext, Size)

파생 클래스에서 구현되는 경우 레이아웃의 "정렬" 패스에 대한 동작을 제공합니다. 클래스는 이 메서드를 재정의하여 고유한 "정렬" 패스 동작을 정의할 수 있습니다.

(다음에서 상속됨 VirtualizingLayout)
ClearValue(DependencyProperty)

종속성 속성의 로컬 값을 지웁니다.

(다음에서 상속됨 DependencyObject)
CreateDefaultItemTransitionProvider()

래핑 레이아웃에서 요소를 왼쪽에서 오른쪽 또는 위쪽에서 아래쪽으로 순차적으로 배치합니다.

(다음에서 상속됨 Layout)
GetAnimationBaseValue(DependencyProperty)

애니메이션이 활성화되지 않은 경우에 적용되는 종속성 속성에 대해 설정된 기본 값을 반환합니다.

(다음에서 상속됨 DependencyObject)
GetValue(DependencyProperty)

DependencyObject에서 종속성 속성의 현재 유효 값을 반환합니다.

(다음에서 상속됨 DependencyObject)
InitializeForContext(LayoutContext)

레이아웃이 UIElement 컨테이너에 연결될 때 필요한 컨테이너별 상태를 초기화합니다.

(다음에서 상속됨 Layout)
InitializeForContextCore(VirtualizingLayoutContext)

파생 클래스에서 재정의된 경우 UIElement 컨테이너에 연결할 때 레이아웃에 필요한 컨테이너별 상태를 초기화합니다.

(다음에서 상속됨 VirtualizingLayout)
InvalidateArrange()

이 레이아웃을 참조하는 모든 UIElement 컨테이너의 정렬 상태(레이아웃)를 무효화합니다. 무효화 후 UIElement의 레이아웃이 업데이트되어 비동기적으로 발생합니다.

(다음에서 상속됨 Layout)
InvalidateMeasure()

이 레이아웃을 참조하는 모든 UIElement 컨테이너에 대한 측정 상태(레이아웃)를 무효화합니다.

(다음에서 상속됨 Layout)
Measure(LayoutContext, Size)

컨테이너 요소에 대해 DesiredSize를 제안합니다. 연결된 레이아웃을 지원하는 컨테이너 요소는 자체 MeasureOverride 구현에서 이 메서드를 호출하여 재귀 레이아웃 업데이트를 구성해야 합니다. 연결된 레이아웃은 각 컨테이너의 UIElement 자식에 대해 Measure를 호출해야 합니다.

(다음에서 상속됨 Layout)
MeasureOverride(VirtualizingLayoutContext, Size)

레이아웃 주기의 "측정값" 패스에 대한 동작을 제공합니다. 클래스는 이 메서드를 재정의하여 고유한 "측정값" 패스 동작을 정의할 수 있습니다.

(다음에서 상속됨 VirtualizingLayout)
OnItemsChangedCore(VirtualizingLayoutContext, Object, NotifyCollectionChangedEventArgs)

컨테이너 요소(ItemsSource)에 할당된 데이터 컬렉션이 변경된 경우 레이아웃에 알 수 있습니다.

(다음에서 상속됨 VirtualizingLayout)
ReadLocalValue(DependencyProperty)

로컬 값이 설정된 경우 종속성 속성의 로컬 값을 반환합니다.

(다음에서 상속됨 DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

DependencyObject instance 특정 DependencyProperty에 대한 변경 내용을 수신 대기하기 위한 알림 함수를 등록합니다.

(다음에서 상속됨 DependencyObject)
SetIndexBasedLayoutOrientation(IndexBasedLayoutOrientation)

IndexBasedLayoutOrientation 속성의 값을 설정합니다.

(다음에서 상속됨 Layout)
SetValue(DependencyProperty, Object)

DependencyObject에 대한 종속성 속성의 로컬 값을 설정합니다.

(다음에서 상속됨 DependencyObject)
UninitializeForContext(LayoutContext)

UIElement 컨테이너에 이전에 저장된 레이아웃의 상태를 제거합니다.

(다음에서 상속됨 Layout)
UninitializeForContextCore(VirtualizingLayoutContext)

파생 클래스에서 재정의된 경우 UIElement 컨테이너에 이전에 저장된 레이아웃의 상태를 제거합니다.

(다음에서 상속됨 VirtualizingLayout)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

RegisterPropertyChangedCallback을 호출하여 이전에 등록된 변경 알림을 취소합니다.

(다음에서 상속됨 DependencyObject)

이벤트

ArrangeInvalidated

정렬 상태(레이아웃)가 무효화된 경우에 발생합니다.

(다음에서 상속됨 Layout)
MeasureInvalidated

측정 상태(레이아웃)가 무효화될 때 발생합니다.

(다음에서 상속됨 Layout)

적용 대상

추가 정보