Version: 2022.1
언어: 한국어
UXML 요소 DoubleField
UXML 요소 EnumField

UXML 요소 DropdownField

DropdownField를 사용하면 사용자가 리스트에서 값을 선택할 수 있습니다.컨트롤을 클릭하면 여러 옵션이 표시되는 드로어가 열리고 사용자는 그 중 하나를 선택할 수 있습니다.모든 선택 사항이 항상 표시되도록 하려면 RadioButtonGroup을 사용하십시오.

사용자 행동에 반응

DropdownField는 변경 이벤트에 반응합니다.

DropdownField를 선택한 선택 값이 있는 문자열 변수에 바인딩할 수 있습니다.

UI 빌더에서 DropdownField의 옵션 추가

DropdownField의 옵션을 추가하려면 DropdownField의 인스펙터에서 Choices에 옵션을 쉼표로 구분하여 입력합니다.

기본값을 설정하려면 DropdownField의 인스펙터에서 Index에 옵션의 번호 지정 순서를 0부터 입력합니다.

C# 스크립트에서 DropdownField 생성

다음 C# 코드 스니핏은 세 가지 옵션이 있는 DropdownField를 생성합니다.DropdownField는 기본적으로 첫 번째 옵션을 선택합니다.

var dropdown = new DropdownField("Options", new List<string> { "Option 1", "Option 2", "Option 3" }, 0);
dropdown.RegisterValueChangedCallback(evt => Debug.Log(evt.newValue));
rootVisualElement.Add(dropdown);

예제

DropdownField 사용 방법을 배우는 가장 좋은 방법은 예시를 사용해 보는 것입니다.DropdownField 예시를 확인하려면 Unity에서 Window > UI Toolkit > Samples > DropdownField를 선택합니다.

C# 기본 클래스 및 네임스페이스

C# 클래스:DropdownField
네임스페이스:UnityEngine.UIElements
기본 클래스:PopupField_1

Inherited attributes

이 요소는 다음 속성을 해당 기본 클래스에서 상속합니다.

Name 타입 설명
binding-path string 바인드될 타겟 프로퍼티의 경로입니다.
choices string 팝업 메뉴에 표시할 선택 항목 리스트입니다.
focusable boolean 요소에 포커스를 맞출 수 있으면 true입니다.
index int 팝업 메뉴에서 현재 선택한 인덱스입니다.
label string 필드 옆에 표시될 레이블을 나타내는 문자열입니다.
tabindex int 포커스 링에서 포커스를 맞출 수 있는 항목을 정렬하는 데 사용되는 정수입니다.0보다 크거나 같아야 합니다.

또한 이 요소는 다음 속성을 VisualElement에서 상속합니다.

Name 타입 설명
content-container string child elements are added to this element, usually this
name string 이 VisualElement의 이름입니다.

이 프로퍼티를 사용하면 특정 요소를 타게팅하는 USS 선택자를 작성할 수 있습니다.요소에 고유한 이름을 부여하는 것이 표준 관행입니다.
picking-mode UIElements.PickingMode mouseEvents 또는 IPanel.Pick 쿼리 중에 이 요소를 선택할 수 있는지를 결정합니다.
style string 이 요소의 스타일 오브젝트에 대한 레퍼런스입니다.

USS 파일에서 계산된 데이터 또는 C#에서 이 오브젝트에 작성된 인라인 스타일을 포함합니다.
tooltip string Text to display inside an information box after the user hovers the element for a small amount of time.
usage-hints UIElements.UsageHints VisualElement에 대한 고수준의 의도된 사용 패턴을 지정하는 힌트 값 조합입니다.이 프로퍼티는 VisualElement가 아직 Panel에 포함되어 있지 않을 때만 설정할 수 있습니다.Panel에 포함되면 이 프로퍼티는 사실상 읽기 전용이 되며, 변경을 시도하면 예외가 발생합니다.적절한 UsageHints를 지정하면 시스템에서 예상하는 사용 패턴에 따라 특정 작업을 처리하거나 가속하는 방법에 대해 더 나은 결정을 내릴 수 있습니다.이러한 힌트는 동작이나 시각적 결과에는 영향을 주지 않으며 패널과 그 안의 요소의 전반적인 성능에만 영향을 줍니다.항상 적절한 UsageHints를 지정하는 것이 좋지만, 일부 UsageHints는 특정 조건(예: 타겟 플랫폼의 하드웨어 제한으로 인해)에서 내부적으로 무시될 수 있다는 점에 유의하십시오.
view-data-key string 보기 데이터 지속성에 사용됩니다(예: 트리 확장 상태, 스크롤 포지션, 줌 레벨).

이는 보기 데이터 스토어의 보기 데이터를 저장/로드하는 데 사용되는 키입니다.이 키를 설정하지 않으면 이 VisualElement에 대한 지속성이 비활성화됩니다.

USS 클래스

다음 표는 모든 C# 공용 프로퍼티 이름과 관련 USS 선택자의 리스트입니다.

C# 프로퍼티 USS 선택자 설명
ussClassName .unity-popup-field 이 타입 요소의 USS 클래스명입니다.
labelUssClassName .unity-popup-field__label 이 타입의 요소에 있는 레이블의 USS 클래스명입니다.
inputUssClassName .unity-popup-field__input 이 타입의 요소에 있는 입력 요소의 USS 클래스명입니다.
ussClassName .unity-base-popup-field 이 타입 요소의 USS 클래스명입니다.
textUssClassName .unity-base-popup-field__text 이 타입의 요소에 있는 텍스트 요소의 USS 클래스명입니다.
arrowUssClassName .unity-base-popup-field__arrow 이 타입의 요소에 있는 화살표 표시의 USS 클래스명입니다.
labelUssClassName .unity-base-popup-field__label 이 타입의 요소에 있는 레이블의 USS 클래스명입니다.
inputUssClassName .unity-base-popup-field__input 이 타입의 요소에 있는 입력 요소의 USS 클래스명입니다.
ussClassName .unity-base-field 이 타입 요소의 USS 클래스명입니다.
labelUssClassName .unity-base-field__label 이 타입의 요소에 있는 레이블의 USS 클래스명입니다.
inputUssClassName .unity-base-field__input 이 타입의 요소에 있는 입력 요소의 USS 클래스명입니다.
noLabelVariantUssClassName .unity-base-field--no-label 레이블이 없는 경우 이 타입 요소의 USS 클래스명입니다.
labelDraggerVariantUssClassName .unity-base-field__label--with-dragger 연결된 드래거가 있는 경우 이 타입의 요소에 있는 레이블의 USS 클래스명입니다.
mixedValueLabelUssClassName .unity-base-field__label--mixed-value 혼합된 값을 표시하는 요소의 USS 클래스명입니다.
alignedFieldUssClassName .unity-base-field__aligned 인스펙터 요소에 정렬된 요소의 USS 클래스명입니다.
disabledUssClassName .unity-disabled 비활성화된 로컬 요소의 USS 클래스명입니다.

추가 리소스

UXML 요소 DoubleField
UXML 요소 EnumField