다음을 통해 공유


Xamarin.Forms 공용 컨트롤 속성, 메서드 및 이벤트

이 Xamarin.FormsVisualElement 클래스는 애플리케이션에서 사용되는 대부분의 컨트롤에 대한 기본 클래스입니다 Xamarin.Forms . 클래스는 VisualElement 파생 클래스에 사용되는 많은 속성, 메서드 및 이벤트를 정의합니다.

속성

개체에서 VisualElement 사용할 수 있는 속성은 다음과 같습니다.

AnchorX

속성 AnchorX 은 배율 및 회전과 같은 변환에 대 한 X 축의 중심점을 정의 하는 값입니다 double . 기본값은 0.5입니다.

AnchorY

AnchorY 속성은 double 배율 및 회전과 같은 변환에 대한 Y축의 중심점을 정의하는 값입니다. 기본값은 0.5입니다.

Background

Background 속성은 Brush 브러시를 모든 컨트롤의 배경으로 사용할 수 있도록 하는 값입니다. 기본값은 Brush.Default입니다.

BackgroundColor

속성은 BackgroundColorColor 컨트롤의 배경색을 결정하는 속성입니다. 설정하지 않으면 배경이 투명하게 렌더링되는 기본 Color 개체가 됩니다.

Behaviors

속성은 Behaviors 개체입니다 ListBehavior . 동작을 사용하면 다시 사용할 수 있는 기능을 목록에 추가하여 요소에 연결할 수 있습니다 Behaviors . 클래스에 대한 자세한 내용은 동작을 Behavior 참조 Xamarin.Forms 하세요.

Bounds

Bounds 속성은 컨트롤이 차지하는 공간을 나타내는 읽기 전용 Rectangle 개체입니다. Bounds 레이아웃 주기 동안 속성 값이 할당됩니다. 사각형 Rectanglestruct 의 교차 및 포함을 테스트하는 데 유용한 속성과 메서드가 포함되어 있습니다. 자세한 내용은 사각형 APIXamarin.Forms 참조하세요.

Clip

Clip 속성은 Geometry 요소 내용의 윤곽선을 정의하는 개체입니다. 클립을 정의하려면 요소의 Clip 속성을 설정하는 등의 EllipseGeometry 개체를 사용합니다Geometry. 기하 도형 영역 내에 있는 영역만 표시됩니다. 자세한 내용은 기하 도형으로 잘라 내기를 참조하세요.

Effects

속성은 EffectsListEffect 클래스에서 상속된 개체입니다.Element 효과를 사용하면 네이티브 컨트롤을 사용자 지정할 수 있으며 일반적으로 작은 스타일 변경에 사용됩니다. 클래스에 대한 Effect 자세한 내용은 효과를 참조 Xamarin.Forms 하세요.

FlowDirection

속성은 FlowDirection 열거형 값입니다 FlowDirection . 흐름 방향을 설정MatchParentLeftToRight하거나 RightToLeft 레이아웃 순서와 방향을 결정할 수 있습니다. 이 FlowDirection 속성은 일반적으로 오른쪽에서 왼쪽으로 읽는 언어를 지원하는 데 사용됩니다.

Height

Height 속성은 컨트롤의 렌더링된 높이를 설명하는 읽기 전용 double 값입니다. 이 속성은 Height 레이아웃 주기 동안 계산되며 직접 설정할 수 없습니다. HeightRequest 속성을 사용하여 컨트롤의 높이를 요청할 수 있습니다.

HeightRequest

HeightRequest 속성은 double 컨트롤의 원하는 높이를 결정하는 값입니다. 컨트롤의 절대 높이가 요청된 값과 일치하지 않을 수 있습니다. 자세한 내용은 요청 속성을 참조 하세요.

InputTransparent

InputTransparent 속성은 bool 컨트롤이 사용자 입력을 받는지 여부를 결정하는 속성입니다. 기본값은 false요소가 입력을 수신하도록 하는 것입니다. 이 속성은 설정되면 자식 요소로 전송됩니다. InputTransparent 속성을 true 레이아웃 클래스에 설정하면 레이아웃 내의 모든 요소가 입력을 받지 않습니다.

IsEnabled

IsEnabled 속성은 bool 컨트롤이 사용자 입력에 반응하는지 여부를 결정하는 값입니다. 기본값은 true입니다. 이 속성을 false로 설정하면 컨트롤이 사용자 입력을 허용하지 않습니다.

IsFocused

IsFocused 속성은 bool 컨트롤이 현재 포커스가 있는 개체인지 여부를 설명하는 값입니다. 컨트롤에서 Focus 메서드를 호출하면 값이 IsFocused true로 설정됩니다. 메서드를 호출하면 Unfocus 이 속성이 false로 설정됩니다.

IsTabStop

IsTabStop 속성은 bool 사용자가 탭 키를 사용하여 컨트롤을 통과할 때 컨트롤이 포커스를 받는지 여부를 정의하는 값입니다. 이 속성이 false이면 속성이 TabIndex 적용되지 않습니다.

IsVisible

속성은 IsVisiblebool 컨트롤이 렌더링되는지 여부를 결정하는 값입니다. 속성이 IsVisible false로 설정된 컨트롤은 표시되지 않으며 레이아웃 주기 동안 공간 계산에 고려되지 않으며 사용자 입력을 수락할 수 없습니다.

MinimumHeightRequest

MinimumHeightRequest 속성은 double 제한된 공간에 대해 두 요소가 경쟁할 때 오버플로가 처리되는 방식을 결정하는 값입니다. MinimumHeightRequest 속성을 설정하면 레이아웃 프로세스에서 요소의 크기를 요청된 최소 차원으로 축소할 수 있습니다. 지정하지 MinimumHeightRequest 않으면 기본값은 -1이고 레이아웃 프로세스는 최소값으로 간주됩니다 HeightRequest . 즉, 값이 없는 MinimumHeightRequest 요소의 높이가 확장 가능하지 않습니다.

자세한 내용은 최소 요청 속성을 참조 하세요.

MinimumWidthRequest

MinimumWidthRequest 속성은 double 제한된 공간에 대해 두 요소가 경쟁할 때 오버플로가 처리되는 방식을 결정하는 값입니다. MinimumWidthRequest 속성을 설정하면 레이아웃 프로세스에서 요소의 크기를 요청된 최소 차원으로 축소할 수 있습니다. 지정하지 MinimumWidthRequest 않으면 기본값은 -1이고 레이아웃 프로세스는 최소값으로 간주됩니다 WidthRequest . 즉, 값이 없는 MinimumWidthRequest 요소의 너비는 확장성이 없습니다.

자세한 내용은 최소 요청 속성을 참조 하세요.

Opacity

Opacity 속성은 double 렌더링하는 동안 컨트롤의 불투명도를 결정하는 0에서 1까지의 값입니다. 이 속성의 기본값은 1.0입니다. 0에서 1까지의 범위를 벗어난 값은 고정됩니다. 속성은 Opacity 속성이 .인 IsVisible 경우에만 적용됩니다 true. 불투명도는 반복적으로 적용됩니다. 따라서 부모 컨트롤의 불투명도가 0.5이고 자식의 불투명도가 0.5이면 자식은 유효 0.25 불투명도 값으로 렌더링됩니다. 입력 컨트롤의 Opacity 속성을 0으로 설정하면 정의되지 않은 동작이 발생합니다.

Parent

Parent 속성은 Element 클래스에서 상속됩니다. 이 속성은 Element 컨트롤의 부모 개체입니다. 속성은 Parent 일반적으로 다른 요소의 자식으로 추가 될 때 요소에 자동으로 설정 됩니다.

Resources

Resources 속성은 ResourceDictionary 일반적으로 XAML에서 런타임에 채워지는 키/값 쌍으로 채워진 인스턴스입니다. 이 사전을 사용하면 애플리케이션 개발자가 컴파일 시간과 런타임 모두에서 XAML에 정의된 개체를 다시 사용할 수 있습니다. 사전의 키는 XAML 태그의 특성에서 x:Key 채워집니다. XAML에서 만든 개체가 지정된 키에 ResourceDictionary 삽입됩니다. 초기화되면 입니다.

자세한 내용은 리소스 사전을 참조 하세요.

Rotation

Rotation 속성은 double Z축에 대한 회전을 도 단위로 정의하는 0에서 360 사이의 값입니다. 이 속성의 기본값은 0입니다. 회전은 값과 AnchorY 값을 기준으로 AnchorX 적용됩니다.

RotationX

RotationX 속성은 double X축에 대한 회전을 도 단위로 정의하는 0에서 360 사이의 값입니다. 이 속성의 기본값은 0입니다. 회전은 값과 AnchorY 값을 기준으로 AnchorX 적용됩니다.

RotationY

RotationY 속성은 double Y축에 대한 회전을 도 단위로 정의하는 0에서 360 사이의 값입니다. 이 속성의 기본값은 0입니다. 회전은 값과 AnchorY 값을 기준으로 AnchorX 적용됩니다.

Scale

속성은 Scaledouble 컨트롤의 배율을 정의하는 값입니다. 이 속성의 기본값은 1.0입니다. 크기 조정은 값과 AnchorY 값을 AnchorX 기준으로 적용됩니다.

ScaleX

ScaleX 속성은 double X축을 따라 컨트롤의 배율을 정의하는 값입니다. 이 속성의 기본값은 1.0입니다. 이 ScaleX 속성은 값을 기준으로 적용됩니다 AnchorX .

ScaleY

ScaleY 속성은 double Y축을 따라 컨트롤의 배율을 정의하는 값입니다. 이 속성의 기본값은 1.0입니다. 이 ScaleY 속성은 값을 기준으로 적용됩니다 AnchorY .

Style

Style 속성은 NavigableElement 클래스에서 상속됩니다. 이 속성은 클래스의 인스턴스입니다 Style . 클래스에는 Style 시각적 요소의 모양과 동작을 정의하는 트리거, setter 및 동작이 포함됩니다. 자세한 내용은 XAML 스타일을 참조 Xamarin.Forms 하세요.

StyleClass

속성 StyleClass 은 클래스의 string 이름을 나타내는 개체의 Style 목록입니다. 이 속성은 NavigableElement 클래스에서 상속됩니다. 이 StyleClass 속성을 사용하면 여러 스타일 특성을 인스턴스에 적용할 VisualElement 수 있습니다. 자세한 내용은 스타일 클래스를 참조 Xamarin.Forms 하세요.

TabIndex

TabIndex 속성은 int 탭 키를 사용하여 컨트롤을 통과할 때 컨트롤 순서를 정의하는 값입니다. 이 TabIndex 속성은 클래스가 구현하는 인터페이스에 ITabStopElement 정의된 속성에 VisualElement 대한 구현입니다.

TranslationX

TranslationX 속성은 double X축에 적용할 델타 변환을 정의하는 값입니다. 변환은 레이아웃 후에 적용되며 일반적으로 애니메이션을 적용하는 데 사용됩니다. 부모 컨테이너의 범위를 벗어난 요소를 변환하면 입력이 작동하지 않을 수 있습니다.

자세한 내용은 의 애니메이션을 참조 하세요 Xamarin.Forms.

TranslationY

TranslationY 속성은 double Y축에 적용할 델타 변환을 정의하는 값입니다. 변환은 레이아웃 후에 적용되며 일반적으로 애니메이션을 적용하는 데 사용됩니다. 부모 컨테이너의 범위를 벗어난 요소를 변환하면 입력이 작동하지 않을 수 있습니다.

자세한 내용은 의 애니메이션을 참조 하세요 Xamarin.Forms.

Triggers

속성 Triggers 은 개체의 TriggerBase 읽기 전용 List 입니다. 트리거를 사용하면 애플리케이션 개발자가 이벤트 또는 속성 변경에 대한 응답으로 컨트롤의 시각적 모양을 변경하는 작업을 XAML로 표현할 수 있습니다. 자세한 내용은 트리거를 참조 Xamarin.Forms 하세요.

Visual

Visual 속성은 IVisual 렌더러를 만들고 인스턴스에 선택적으로 적용할 수 있는 VisualElement 인스턴스입니다. 속성은 Visual 해당 부모와 일치하도록 설정되므로 구성 요소에서 렌더러를 정의하면 해당 구성 요소의 모든 자식에도 적용됩니다. 컨트롤 또는 상위 항목에 사용자 지정 렌더러가 설정되지 않은 경우 기본 Xamarin.Forms 렌더러가 사용됩니다. 자세한 내용은 Visual을 참조 Xamarin.Forms 하세요.

Width

Width 속성은 컨트롤의 렌더링된 너비를 설명하는 읽기 전용 double 값입니다. 이 속성은 Width 레이아웃 주기 동안 계산되며 직접 설정할 수 없습니다. WidthRequest 속성을 사용하여 컨트롤의 너비를 요청할 수 있습니다.

WidthRequest

속성은 WidthRequestdouble 컨트롤의 원하는 너비를 결정하는 값입니다. 컨트롤의 절대 너비가 요청된 값과 일치하지 않을 수 있습니다. 자세한 내용은 요청 속성을 참조 하세요.

X

X 속성은 컨트롤의 현재 X 위치를 설명하는 읽기 전용 double 값입니다.

Y

Y 속성은 컨트롤의 현재 Y 위치를 설명하는 읽기 전용 double 값입니다.

메서드

클래스에서 VisualElement 사용할 수 있는 메서드는 다음과 같습니다. 전체 목록은 VisualElement API 메서드를 참조 하세요.

FindByName

메서드는 FindByName 클래스에서 Element 상속되며 다음 시그니처가 있습니다.

public object FindByName (string name)

이 메서드는 제공된 name 인수에 대한 모든 자식 요소를 검색하고 지정된 이름을 포함하는 요소를 반환합니다. 일치하는 항목이 null 없으면 반환됩니다.

Focus

메서드는 Focus 요소에 포커스를 설정하려고 시도합니다. 이 메서드의 서명은 다음과 같습니다.

public bool Focus ()

이 메서드는 Focus 키보드 포커스가 성공적으로 설정되었는지와 false 메서드 호출로 인해 포커스가 변경되지 않았는지를 반환 true 합니다. 이 메서드가 작동하려면 요소가 포커스를 받을 수 있어야 합니다. Focus 오프스크린 또는 미실현 요소에서 메서드를 호출하면 정의되지 않은 동작이 있습니다.

Unfocus

메서드는 Unfocus 요소에 대한 포커스를 제거하려고 시도합니다. 이 메서드의 서명은 다음과 같습니다.

public void Unfocus ()

이 메서드가 작동하려면 요소에 포커스가 이미 있어야 합니다.

이벤트

클래스에서 VisualElement 사용할 수 있는 이벤트는 다음과 같습니다. 전체 목록은 VisualElement 이벤트를 참조 Xamarin.Forms 하세요.

Focused

인스턴스 Focused 가 포커스를 받을 때마다 VisualElement 이벤트가 발생합니다. 이 이벤트는 스택을 통해 버블링되지 않고 네이 Xamarin.Forms 티브 컨트롤에서 직접 수신됩니다. 이 이벤트는 속성 setter에 IsFocused 의해 내보내집니다.

SizeChanged

인스턴스 SizeChanged 또는 Width 속성이 변경될 때마다 VisualElementHeight 이벤트가 발생합니다. 개발자가 변경 후 이벤트에 응답하는 대신 크기 변경에 직접 응답하려는 경우 대신 가상 메서드를 OnSizeAllocated 구현해야 합니다.

Unfocused

인스턴스 Unfocused 가 포커스를 VisualElement 잃을 때마다 이벤트가 발생합니다. 이 이벤트는 스택을 통해 버블링되지 않고 네이 Xamarin.Forms 티브 컨트롤에서 직접 수신됩니다. 이 이벤트는 속성 setter에 IsFocused 의해 내보내집니다.

측정 단위

Android, iOS 및 UWP 플랫폼은 모두 디바이스에 따라 다를 수 있는 서로 다른 측정 단위를 갖습니다. Xamarin.Forms 는 디바이스 및 플랫폼에서 단위를 정규화하는 플랫폼 독립적 측정 단위를 사용합니다. 인치당 160 단위 또는 64 센티미터가 있습니다 Xamarin.Forms.

요청 속성

이름에 "request"가 포함된 속성은 실제 렌더링된 값과 일치하지 않을 수 있는 원하는 값을 정의합니다. 예를 들어 HeightRequest 150으로 설정할 수 있지만 레이아웃에서 100 단위의 공간만 허용하는 경우 컨트롤의 렌더링 Height 은 100입니다. 렌더링된 크기는 사용 가능한 공간 및 포함된 구성 요소의 영향을 받습니다.

최소 요청 속성

최소 요청 속성에는 포함 MinimumHeightRequestMinimumWidthRequest, 요소가 서로 상대적으로 오버플로를 처리하는 방법을 보다 정확하게 제어할 수 있도록 하기 위한 것입니다. 그러나 이러한 속성과 관련된 레이아웃 동작에는 몇 가지 중요한 고려 사항이 있습니다.

지정되지 않은 최소 속성 값

최소값이 설정되지 않은 경우 최소 속성의 기본값은 -1입니다. 레이아웃 프로세스는 이 값을 무시하고 절대값을 최소값으로 간주합니다. 이 동작의 실질적인 결과는 최소값이 지정 되지 않은 요소가 축소되지 않는다는 것입니다. 최소값이 지정된 요소가 축소됩니다 .

다음 XAML은 가로StackLayout의 두 BoxView 요소를 보여줍니다.

<StackLayout Orientation="Horizontal">
    <BoxView HeightRequest="100" BackgroundColor="Purple" WidthRequest="500"></BoxView>
    <BoxView HeightRequest="100" BackgroundColor="Green" WidthRequest="500" MinimumWidthRequest="250"></BoxView>
</StackLayout>

첫 번째 BoxView 인스턴스는 너비 500을 요청하고 최소 너비를 지정하지 않습니다. 두 번째 BoxView 인스턴스는 너비 500과 최소 너비 250을 요청합니다. 부모 StackLayout 요소가 요청된 너비에 두 구성 요소를 모두 포함할 만큼 충분히 넓지 않은 경우 다른 유효한 최소값이 지정되지 않았기 때문에 레이아웃 프로세스에서 첫 번째 BoxView 인스턴스의 너비가 최소 500으로 간주됩니다. 두 번째 BoxView 인스턴스는 250으로 축소할 수 있으며 너비가 250 단위에 도달할 때까지 축소됩니다.

원하는 동작이 첫 번째 BoxView 인스턴스가 최소 너비 MinimumWidthRequest 없이 축소되는 경우 0과 같은 유효한 값으로 설정해야 합니다.

최소 및 절대 속성 값

최소값이 절대값보다 크면 동작이 정의되지 않습니다. 예를 들어 100으로 설정된 경우 WidthRequest 속성은 MinimumWidthRequest 100을 초과하지 않아야 합니다. 최소 속성 값을 지정할 때 절대값이 최소값보다 큰지 확인하기 위해 항상 절대값을 지정해야 합니다.

그리드 내의 최소 속성

Grid 레이아웃에는 행과 열의 상대적 크기 조정을 위한 고유한 시스템이 있습니다. 레이아웃을 사용하거나 MinimumHeightRequest 레이아웃 내에서 Grid 사용하는 MinimumWidthRequest 것은 영향을 미치지 않습니다. 자세한 내용은 Grid를 참조하세요Xamarin.Forms.