항목
.NET 다중 플랫폼 앱 UI(.NET MAUI) Entry 를 사용하면 한 줄의 텍스트를 입력하고 편집할 수 있습니다. 또한 Entry 암호 필드로 사용할 수 있습니다.
Entry는 다음 속성을 정의합니다.
ClearButtonVisibility
형식ClearButtonVisibility
의 은 사용자가 텍스트를 지울 수 있도록 지우기 단추가 표시되는지 여부를 제어합니다. 이 속성의 기본값은 지우기 단추가 표시되지 않도록 합니다.HorizontalTextAlignment
형식 TextAlignment의 은 텍스트의 가로 맞춤을 정의합니다.IsPassword
형식bool
의 < a0/a0>은 입력된 텍스트를 시각적으로 가릴지 여부를 지정합니다.ReturnCommand
형식 ICommand의 반환 키를 누를 때 실행할 명령을 정의합니다.ReturnCommandParameter
형식object
의 .에 대한 매개 변수를ReturnCommand
지정합니다.ReturnType
형식ReturnType
의 반환 단추의 모양을 지정합니다.VerticalTextAlignment
형식 TextAlignment의 은 텍스트의 세로 맞춤을 정의합니다.
이러한 속성은 BindableProperty 개체에서 지원하며, 따라서 데이터 바인딩의 대상이 될 수 있고 스타일이 지정될 수 있습니다.
또한 Entry 반환 키를 사용하여 Completed
텍스트를 Entry 완료할 때 발생하는 이벤트를 정의합니다.
Entry 는 InputView 다음 속성을 상속하는 클래스에서 파생됩니다.
CharacterSpacing
형식double
의 경우 입력한 텍스트의 문자 사이의 간격을 설정합니다.CursorPosition
형식int
의 는 편집기 내에서 커서의 위치를 정의합니다.FontAttributes
형식FontAttributes
의 텍스트 스타일을 결정합니다.FontAutoScalingEnabled
형식bool
의 은 텍스트가 운영 체제에 설정된 크기 조정 기본 설정을 반영하는지 여부를 정의합니다. 이 속성의 기본값은true
입니다.FontFamily
형식string
의 글꼴 패밀리를 정의합니다.FontSize
형식double
의 글꼴 크기를 정의합니다.IsReadOnly
형식bool
의 은 사용자가 텍스트를 수정하지 못하도록 해야 하는지 여부를 정의합니다. 이 속성의 기본값은false
입니다.IsSpellCheckEnabled
형식bool
의 맞춤법 검사를 사용할지 여부를 제어합니다.IsTextPredictionEnabled
형식bool
의 는 텍스트 예측 및 자동 텍스트 수정을 사용할 수 있는지 여부를 제어합니다.Keyboard
형식Keyboard
의 는 텍스트를 입력할 때 표시되는 소프트 입력 키보드를 지정합니다.MaxLength
형식int
의 최대 입력 길이를 정의합니다.Placeholder
형식string
의 컨트롤이 비어 있을 때 표시되는 텍스트를 정의합니다.PlaceholderColor
형식 Color의 자리 표시자 텍스트 색을 정의합니다.SelectionLength
형식int
의 는 컨트롤 내에서 선택한 텍스트의 길이를 나타냅니다.Text
형식string
의 컨트롤에 입력된 텍스트를 정의합니다.TextColor
형식 Color의 은 입력한 텍스트의 색을 정의합니다.TextTransform
형식TextTransform
으로 입력한 텍스트의 대/소문자를 지정합니다.
이러한 속성은 BindableProperty 개체에서 지원하며, 따라서 데이터 바인딩의 대상이 될 수 있고 스타일이 지정될 수 있습니다.
또한 InputView 텍스트 Entry 가 TextChanged
변경될 때 발생하는 이벤트를 정의합니다. TextChangedEventArgs
이벤트 NewTextValue
와 함께 TextChanged
제공되는 개체와 새 텍스트와 OldTextValue
이전 텍스트를 각각 지정하는 속성이 있습니다.
글꼴을 지정하는 방법에 대한 자세한 내용은 글꼴을 Entry참조 하세요.
항목 만들기
다음 예제에서는 다음을 만드는 방법을 보여줍니다.Entry
<Entry x:Name="entry"
Placeholder="Enter text"
TextChanged="OnEntryTextChanged"
Completed="OnEntryCompleted" />
해당하는 C# 코드는 다음과 같습니다.
Entry entry = new Entry { Placeholder = "Enter text" };
entry.TextChanged += OnEntryTextChanged;
entry.Completed += OnEntryCompleted;
다음 스크린샷은 Android의 결과를 Entry 보여줍니다.
참고 항목
iOS에서 소프트 입력 키보드는 필드가 화면 아래쪽 근처에 있을 때 텍스트 입력 필드를 커버할 수 있으므로 텍스트를 입력하기가 어렵습니다. 그러나 .NET MAUI iOS 앱에서는 소프트 입력 키보드가 텍스트 입력 필드를 덮을 때 페이지가 자동으로 스크롤되므로 필드가 소프트 입력 키보드 위에 있습니다. 네임스페이스에서 메서드 KeyboardAutoManagerScroll.Disconnect
를 Microsoft.Maui.Platform
호출하여 이 기본 동작을 사용하지 않도록 설정할 수 있습니다. 메서드를 KeyboardAutoManagerScroll.Connect
호출하여 비활성화된 후 동작을 다시 사용하도록 설정할 수 있습니다.
입력한 텍스트는 속성을 읽어 Text
액세스할 수 있으며, 이벤트 및 TextChanged
Completed
이벤트는 텍스트가 변경되었거나 완료되었음을 알립니다.
이 TextChanged
이벤트는 텍스트 Entry 가 변경될 때 발생하며 TextChangedEventArgs
변경 전후에 다음과 같은 속성을 통해 OldTextValue
NewTextValue
텍스트를 제공합니다.
void OnEntryTextChanged(object sender, TextChangedEventArgs e)
{
string oldText = e.OldTextValue;
string newText = e.NewTextValue;
string myText = entry.Text;
}
이 Completed
이벤트는 사용자가 키보드에서 Return 키를 누르거나 Windows에서 Tab 키를 눌러 입력을 종료했을 때 발생합니다. 이벤트에 대한 처리기는 제네릭 이벤트 처리기입니다.
void OnEntryCompleted(object sender, EventArgs e)
{
string text = ((Entry)sender).Text;
}
Completed
이벤트가 발생한 후 속성에서 ReturnCommand
지정한 모든 ICommand 것이 실행되고 속성 object
에서 지정 ReturnCommandParameter
한 모든 속성이 에 전달됩니다ReturnCommand
.
참고 항목
VisualElement 상속 계층 구조에 Entry 있는 클래스에는 이벤트도 있습니다 Focused
Unfocused
.
문자 간격 설정
속성을 값으로 Entry 설정하여 문자 간격을 CharacterSpacing
적용할 double
수 있습니다.
<Entry ...
CharacterSpacing="10" />
그 결과 텍스트에 표시되는 Entry 문자는 간격이 지정된 CharacterSpacing
디바이스 독립적 단위가 떨어져 있습니다.
참고 항목
CharacterSpacing
속성 값은 및 Placeholder
속성에 의해 표시되는 텍스트에 Text
적용됩니다.
입력 길이 제한
이 MaxLength
속성을 사용하여 에 허용되는 Entry입력 길이를 제한할 수 있습니다. 이 속성은 양의 정수로 설정해야 합니다.
<Entry ...
MaxLength="10" />
MaxLength
속성 값이 0이면 입력이 허용되지 않음을 나타내고, 기본값Entry인 값int.MaxValue
은 입력할 수 있는 문자 수에 대한 유효 제한이 없음을 나타냅니다.
커서 위치 및 텍스트 선택 길이 설정
이 CursorPosition
속성을 사용하여 속성에 저장된 Text
문자열에 다음 문자를 삽입할 위치를 반환하거나 설정할 수 있습니다.
<Entry Text="Cursor position set"
CursorPosition="5" />
속성의 CursorPosition
기본값은 0으로, 텍스트가 시작 부분에 삽입됨을 Entry나타냅니다.
또한 속성을 SelectionLength
사용하여 다음 내 Entry의 텍스트 선택 길이를 반환하거나 설정할 수 있습니다.
<Entry Text="Cursor position and selection length set"
CursorPosition="2"
SelectionLength="10" />
속성의 SelectionLength
기본값은 0으로, 텍스트가 선택되지 않음을 나타냅니다.
지우기 단추 표시
이 ClearButtonVisibility
속성을 사용하여 사용자가 텍스트를 지울 수 있는 지우기 단추를 표시할지 여부를 Entry 제어할 수 있습니다. 이 속성은 ClearButtonVisibility
열거형 멤버로 설정해야 합니다.
Never
은 지우기 단추가 표시되지 않을 것임을 나타냅니다.ClearButtonVisibility
속성의 기본값입니다.WhileEditing
은 포커스와 텍스트가 있는 동안 지우기 단추가Entry/>에 표시됨을 나타냅니다.
다음 예제에서는 속성을 설정하는 방법을 보여줍니다.
<Entry Text=".NET MAUI"
ClearButtonVisibility="WhileEditing" />
다음 스크린샷은 지우기 단추가 Entry 활성화된 Android를 보여 줍니다.
텍스트 변환
속성 Entry 은 열거형 값으로 설정 TextTransform
하여 속성에 Text
저장된 텍스트의 TextTransform
대/소문자를 변환할 수 있습니다. 이 열거형에는 다음 네 가지 값이 있습니다.
None
는 텍스트가 변환되지 않음을 나타냅니다.Default
는 플랫폼의 기본 동작이 사용됨을 나타냅니다.TextTransform
속성의 기본값입니다.Lowercase
는 텍스트가 소문자로 변환됨을 나타냅니다.Uppercase
는 텍스트가 대문자로 변환됨을 나타냅니다.
다음 예제에서는 텍스트를 대문자로 변환하는 방법을 보여줍니다.
<Entry Text="This text will be displayed in uppercase."
TextTransform="Uppercase" />
모호한 텍스트 항목
Entry 에서는 IsPassword
다음과 같이 설정된 true
경우 입력한 텍스트를 시각적으로 가리는 속성을 제공합니다.
<Entry IsPassword="true" />
다음 스크린샷은 입력이 Entry 가려진 것을 보여줍니다.
키보드 사용자 지정
사용자가 상호 작용할 Entry 때 표시되는 소프트 입력 키보드는 속성을 통해 Keyboard
프로그래밍 방식으로 클래스의 다음 속성 Keyboard
중 하나로 설정할 수 있습니다.
Chat
– 텍스트 작성 및 이모티콘이 유용한 경우에 사용합니다.Default
– 기본 키보드입니다.Email
– 전자 메일 주소를 입력할 때 사용합니다.Numeric
– 숫자를 입력할 때 사용합니다.Plain
– 지정된KeyboardFlags
없이 텍스트를 입력할 때 사용합니다.Telephone
– 전화 번호를 입력할 때 사용합니다.Text
– 텍스트를 입력할 때 사용합니다.Url
– 파일 경로 및 웹 주소를 입력하는 데 사용합니다.
다음 예제에서는 속성을 설정하는 방법을 Keyboard
보여줍니다.
<Entry Keyboard="Chat" />
또한 Keyboard
클래스에는 대소문자, 맞춤법 검사 및 제안 동작을 지정하여 키보드를 사용자 지정하는 데 사용할 수 있는 Create
팩터리 메서드가 있습니다. KeyboardFlags
열거형 값은 사용자 지정된 Keyboard
가 반환되는 메서드에 대한 인수로 지정됩니다. KeyboardFlags
열거는 다음 값을 포함합니다.
None
– 키보드에 추가되는 기능이 없습니다.CapitalizeSentence
– 입력된 각 문장의 첫 번째 단어의 첫 문자가 자동으로 대문자로 시작함을 나타냅니다.Spellcheck
- 입력한 텍스트에 대해 맞춤법 검사를 수행할지를 나타냅니다.Suggestions
- 입력한 텍스트에 대해 완성된 단어를 제안할지를 나타냅니다.CapitalizeWord
– 각 단어의 첫 문자가 자동으로 대문자로 시작함을 나타냅니다.CapitalizeCharacter
– 모든 문자가 자동으로 대문자로 시작함을 나타냅니다.CapitalizeNone
– 자동 대소문자 표시가 이루어지지 않음을 나타냅니다.All
– 입력한 텍스트에 대해 맞춤법 검사, 단어 완성 및 문장 첫 글자 대문자 입력이 이루어질 것임을 나타냅니다.
다음 XAML 코드 예제에서는 완성 단어를 제안하고 입력한 모든 글자를 대문자로 시작하도록 기본 Keyboard
를 사용자 지정하는 방법을 보여 줍니다.
<Entry Placeholder="Enter text here">
<Entry.Keyboard>
<Keyboard x:FactoryMethod="Create">
<x:Arguments>
<KeyboardFlags>Suggestions,CapitalizeCharacter</KeyboardFlags>
</x:Arguments>
</Keyboard>
</Entry.Keyboard>
</Entry>
해당하는 C# 코드는 다음과 같습니다.
Entry entry = new Entry { Placeholder = "Enter text here" };
entry.Keyboard = Keyboard.Create(KeyboardFlags.Suggestions | KeyboardFlags.CapitalizeCharacter);
반환 키 사용자 지정
포커스가 있을 때 Entry 표시되는 소프트 입력 키보드의 반환 키 모양은 속성을 열거형 값 ReturnType
으로 설정 ReturnType
하여 사용자 지정할 수 있습니다.
Default
– 특정 반환 키가 필요하지 않으며 플랫폼 기본값이 사용됨을 나타냅니다.Done
– "완료" 반환 키를 나타냅니다.Go
– "Go" 반환 키를 나타냅니다.Next
– "다음" 반환 키를 나타냅니다.Search
– "Search" 반환 키를 나타냅니다.Send
– "Send" 반환 키를 나타냅니다.
다음 XAML 예제에서는 반환 키를 설정하는 방법을 보여줍니다.
<Entry ReturnType="Send" />
참고 항목
반환 키의 정확한 모양은 플랫폼에 따라 달라집니다. iOS에서 반환 키는 텍스트 기반 단추입니다. 그러나 Android 및 Windows에서 반환 키는 아이콘 기반 단추입니다.
Return 키를 누르면 Completed
이벤트가 실행되고 속성에서 ReturnCommand
지정한 모든 ICommand 이벤트가 실행됩니다. 또한 속성에 ReturnCommandParameter
지정된 모든 object
것이 매개 변수로 전달 ICommand 됩니다. 명령에 대한 자세한 내용은 명령을 참조 하세요.
소프트 입력 키보드 숨기기 및 표시
네임스페이스의 클래스 Microsoft.Maui
는 SoftInputExtensions
텍스트 입력을 지원하는 컨트롤에서 소프트 입력 키보드와 상호 작용을 지원하는 일련의 확장 메서드를 제공합니다. 클래스는 다음 메서드를 정의합니다.
IsSoftInputShowing
- 디바이스에 현재 소프트 입력 키보드가 표시되는지 확인합니다.HideSoftInputAsync
현재 표시되는 경우 소프트 입력 키보드를 숨기려고 합니다.ShowSoftInputAsync
- 현재 숨겨진 경우 소프트 입력 키보드를 표시하려고 시도합니다.
다음 예제에서는 현재 표시된 경우 명명entry
된 Entry 키보드에서 소프트 입력 키보드를 숨기는 방법을 보여줍니다.
if (entry.IsSoftInputShowing())
await entry.HideSoftInputAsync(System.Threading.CancellationToken.None);
맞춤법 검사 사용 및 사용 안 함
이 속성은 IsSpellCheckEnabled
맞춤법 검사를 사용할 수 있는지 여부를 제어합니다. 기본적으로 속성은 .로 설정됩니다 true
. 사용자가 텍스트를 입력하면 맞춤법이 잘못 표시됩니다.
그러나 사용자 이름 입력과 같은 일부 텍스트 입력 시나리오의 경우 맞춤법 검사는 부정적인 환경을 제공하며 속성을 false
다음으로 설정하여 사용하지 않도록 설정 IsSpellCheckEnabled
해야 합니다.
<Entry ... IsSpellCheckEnabled="false" />
참고 항목
속성이 IsSpellCheckEnabled
설정 false
되고 사용자 지정 키보드가 사용되지 않는 경우 네이티브 맞춤법 검사기가 비활성화됩니다. 그러나 Keyboard
같은 맞춤법 검사를 Keyboard.Chat
IsSpellCheckEnabled
사용하지 않도록 설정하는 경우 속성은 무시됩니다. 따라서 속성을 명시적으로 사용하지 않도록 설정하는 맞춤법 검사를 Keyboard
사용하도록 설정하는 데 사용할 수 없습니다.
텍스트 예측 사용 및 사용 안 함
이 속성은 IsTextPredictionEnabled
텍스트 예측 및 자동 텍스트 수정을 사용할 수 있는지 여부를 제어합니다. 기본적으로 속성은 .로 설정됩니다 true
. 사용자가 텍스트를 입력하면 단어 예측이 표시됩니다.
그러나 사용자 이름 입력과 같은 일부 텍스트 입력 시나리오의 경우 텍스트 예측 및 자동 텍스트 수정은 부정적인 환경을 제공하며 속성을 false
다음으로 설정하여 사용하지 않도록 설정 IsTextPredictionEnabled
해야 합니다.
<Entry ... IsTextPredictionEnabled="false" />
참고 항목
속성이 IsTextPredictionEnabled
설정 false
되고 사용자 지정 키보드를 사용하지 않는 경우 텍스트 예측 및 자동 텍스트 수정을 사용할 수 없습니다. 그러나 Keyboard
텍스트 예측을 IsTextPredictionEnabled
사용하지 않도록 설정하는 경우 속성은 무시됩니다. 따라서 속성을 명시적으로 사용하지 않도록 설정하는 텍스트 예측을 Keyboard
사용하도록 설정하는 데 사용할 수 없습니다.
텍스트 입력 방지
속성을 다음으로 설정 IsReadOnly
하여 사용자가 텍스트 Entry 수정을 방지할 true
수 있습니다.
<Entry Text="User input won't be accepted."
IsReadOnly="true" />
.NET MAUI