Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
.NET Çok Platformlu Uygulama Kullanıcı Arabirimi (.NET MAUI), Entry tek bir metin satırı girmenize ve düzenlemenize olanak tanır. Buna ek olarak, Entry parola alanı olarak da kullanılabilir.
Entry aşağıdaki özellikleri tanımlar:
ClearButtonVisibility
, türündeClearButtonVisibility
, kullanıcının metni temizlemesini sağlayan bir temizle düğmesinin görüntülenip görüntülenmeyeceğini denetler. Bu özelliğin varsayılan değeri, net bir düğmenin görüntülenmemesini sağlar.HorizontalTextAlignment
, türündeki TextAlignmentmetnin yatay hizalamasını tanımlar.IsPassword
türündebool
, girdinin yazılan metni görsel olarak gizleyip gizlemeyeceğini belirtir.ReturnCommand
ICommandtüründe, dönüş tuşuna basıldığında yürütülecek komutu tanımlar.ReturnCommandParameter
, türündekiobject
parametresiniReturnCommand
belirtir.ReturnType
ReturnType
türünde, dönüş düğmesinin görünümünü belirtir.VerticalTextAlignment
, türündeki TextAlignmentmetnin dikey hizalamasını tanımlar.
Bu özellikler nesneler tarafından BindableProperty desteklenir; bu da veri bağlamalarının hedefleri olabileceği ve stillendirilebileceği anlamına gelir.
Buna ek olarak, Entry kullanıcı dönüş anahtarıyla içindeki metni Entry son haline getirdiğinde tetiklenen bir Completed
olay tanımlar.
EntryInputView aşağıdaki özellikleri devraldığı sınıfından türetilir:
CharacterSpacing
, türüne göredouble
, girilen metindeki karakterler arasındaki aralığı ayarlar.CursorPosition
türündeint
, imlecin düzenleyici içindeki konumunu tanımlar.FontAttributes
, türüne göreFontAttributes
metin stilini belirler.FontAutoScalingEnabled
türündebool
, metnin işletim sisteminde ayarlanan ölçeklendirme tercihlerini yansıtıp yansıtmayacağını tanımlar. Bu özelliğin varsayılan değeridirtrue
.FontFamily
, türündekistring
yazı tipi ailesini tanımlar.FontSize
, türündekidouble
yazı tipi boyutunu tanımlar.IsReadOnly
türündebool
, kullanıcının metin değiştirmesinin engellenip engellenmeyeceğini tanımlar. Bu özelliğin varsayılan değeridirfalse
.IsSpellCheckEnabled
, türüne görebool
yazım denetiminin etkinleştirilip etkinleştirilmediğini denetler.IsTextPredictionEnabled
, türüne görebool
metin tahmininin ve otomatik metin düzeltmenin etkinleştirilip etkinleştirilmediğini denetler.Keyboard
türündeKeyboard
, metin girerken görüntülenen geçici giriş klavyesini belirtir.MaxLength
, türündekiint
maksimum giriş uzunluğunu tanımlar.Placeholder
, türündestring
, denetim boş olduğunda görüntülenen metni tanımlar.PlaceholderColor
, türündeki Coloryer tutucu metnin rengini tanımlar.SelectionLength
, türündeint
, denetim içindeki seçili metnin uzunluğunu temsil eder.Text
, türündestring
, denetime girilen metni tanımlar.TextColor
, türündeki Color, girilen metnin rengini tanımlar.TextTransform
türündeTextTransform
, girilen metnin büyük/küçük harflerini belirtir.
Bu özellikler nesneler tarafından BindableProperty desteklenir; bu da veri bağlamalarının hedefleri olabileceği ve stillendirilebileceği anlamına gelir.
Ayrıca, InputView içindeki metin değiştiğinde Entry tetiklenen bir TextChanged
olay tanımlar. Olaya TextChangedEventArgs
eşlik eden nesne, TextChanged
sırasıyla yeni ve eski metni belirten ve OldTextValue
özelliklerine sahiptirNewTextValue
.
üzerinde Entryyazı tiplerini belirtme hakkında bilgi için bkz . Yazı Tipleri.
Giriş Oluşturma
Aşağıdaki örnekte nasıl oluşturulacağı gösterilmektedir Entry:
<Entry x:Name="entry"
Placeholder="Enter text"
TextChanged="OnEntryTextChanged"
Completed="OnEntryCompleted" />
Eşdeğer C# kodu:
Entry entry = new Entry { Placeholder = "Enter text" };
entry.TextChanged += OnEntryTextChanged;
entry.Completed += OnEntryCompleted;
Aşağıdaki ekran görüntüsünde Android'de elde edilen sonuç Entry gösterilmektedir:
Not
iOS'ta, alan ekranın alt kısmına yaklaştığında yumuşak giriş klavyesi metin girişi alanını kapsayarak metin girmeyi zorlaştırabilir. Ancak bir .NET MAUI iOS uygulamasında, yumuşak giriş klavyesi bir metin giriş alanını kapladığında sayfalar otomatik olarak kaydırılır, böylece alan yumuşak giriş klavyesinin üzerinde olur. Bu KeyboardAutoManagerScroll.Disconnect
varsayılan davranışı devre dışı bırakmak için ad alanında yöntemi Microsoft.Maui.Platform
çağrılabilir. Yöntemi KeyboardAutoManagerScroll.Connect
, devre dışı bırakıldıktan sonra davranışı yeniden etkinleştirmek için çağrılabilir.
Girilen metne Text
özelliği okunarak erişilebilir ve TextChanged
ve Completed
olayları metnin değiştiğini veya tamamlandığını gösterir.
Olay TextChanged
, içindeki metin değiştiğinde Entry oluşturulur ve TextChangedEventArgs
ve özellikleri aracılığıyla OldTextValue
NewTextValue
değişiklik öncesinde ve sonrasındaki metni sağlar:
void OnEntryTextChanged(object sender, TextChangedEventArgs e)
{
string oldText = e.OldTextValue;
string newText = e.NewTextValue;
string myText = entry.Text;
}
OlayCompleted
, kullanıcı girişi sonlandırdığında klavyede Return tuşuna basarak veya Windows'da Sekme tuşuna basarak tetikler. Olayın işleyicisi genel bir olay işleyicisidir:
void OnEntryCompleted(object sender, EventArgs e)
{
string text = ((Entry)sender).Text;
}
Olay tetiklendiğindeCompleted
, özelliği tarafından ReturnCommand
belirtilen herhangi biri ICommand yürütülür ve object
özelliği tarafından ReturnCommandParameter
belirtilen öğesine geçirilirReturnCommand
.
Not
VisualElement Devralma hiyerarşisindeki sınıfın Entry da ve Unfocused
olayları vardırFocused
.
Karakter aralığını ayarlama
Karakter aralığı özelliği bir double
değere ayarlanarak CharacterSpacing
bir'e uygulanabilirEntry:
<Entry ...
CharacterSpacing="10" />
Sonuç, tarafından görüntülenen metindeki karakterlerin cihazdan Entry bağımsız birimler halinde aralıklı CharacterSpacing
olmasıdır.
Not
özellik CharacterSpacing
değeri ve Placeholder
özellikleri tarafından görüntülenen metne Text
uygulanır.
Giriş uzunluğunu sınırla
MaxLength
özelliği, için izin verilen giriş uzunluğunu sınırlamak Entryiçin kullanılabilir. Bu özellik pozitif bir tamsayıya ayarlanmalıdır:
<Entry ...
MaxLength="10" />
MaxLength
0 özellik değeri hiçbir girişe izin verilmeyeceğini belirtir ve değeri için varsayılan değer int.MaxValue
Entryolan değeri girilebilecek karakter sayısı üzerinde geçerli bir sınır olmadığını gösterir.
İmleç konumunu ve metin seçimi uzunluğunu ayarlama
özelliği, CursorPosition
özelliğinde depolanan Text
dizeye sonraki karakterin eklendiği konumu döndürmek veya ayarlamak için kullanılabilir:
<Entry Text="Cursor position set"
CursorPosition="5" />
Özelliğinin CursorPosition
varsayılan değeri 0'dır ve bu, metnin öğesinin Entrybaşlangıcına eklendiğini gösterir.
Ayrıca, SelectionLength
özelliği içinde metin seçiminin Entryuzunluğunu döndürmek veya ayarlamak için kullanılabilir:
<Entry Text="Cursor position and selection length set"
CursorPosition="2"
SelectionLength="10" />
Özelliğin SelectionLength
varsayılan değeri 0'dır ve bu değer metin seçilmediğini gösterir.
Temiz bir düğme görüntüleme
ClearButtonVisibility
özelliği, kullanıcının metni temizlemesini sağlayan net bir düğme görüntüleyip Entry görüntülemediğini denetlemek için kullanılabilir. Bu özellik bir ClearButtonVisibility
numaralandırma üyesine ayarlanmalıdır:
Never
temiz bir düğmenin hiçbir zaman görüntülenmeyeceğini gösterir. Bu özellik içinClearButtonVisibility
varsayılan değerdir.WhileEditing
, içinde net bir düğmenin Entrygörüntüleneceğini, odak ve metin içerdiğini gösterir.
Aşağıdaki örnekte özelliğin ayarlanması gösterilmektedir:
<Entry Text=".NET MAUI"
ClearButtonVisibility="WhileEditing" />
Aşağıdaki ekran görüntüsünde Android'de temizle düğmesi etkin bir Entry ekran görüntüsü gösterilmektedir:
Metin dönüştürme
, Entry özelliğini sabit listesi değerine ayarlayarak TextTransform
özelliğinde Text
depolanan metninin TextTransform
büyük/küçük harflerini dönüştürebilir. Bu sabit listesi dört değere sahiptir:
None
metnin dönüştürülmeyeceğini gösterir.Default
platform için varsayılan davranışın kullanılacağını belirtir. Bu özelliğin varsayılan değeridirTextTransform
.Lowercase
metnin küçük harfe dönüştürüleceğini gösterir.Uppercase
metnin büyük harfe dönüştürüleceğini gösterir.
Aşağıdaki örnekte metni büyük harfe dönüştürme gösterilmektedir:
<Entry Text="This text will be displayed in uppercase."
TextTransform="Uppercase" />
Belirsiz metin girişi
EntryIsPassword
, olarak ayarlandığında true
girilen metni görsel olarak gizleyen özelliğini sağlar:
<Entry IsPassword="true" />
Aşağıdaki ekran görüntüsünde, girişi gizlenmiş olan bir Entry gösterilmektedir:
Klavyeyi özelleştirme
Kullanıcılar ile Entry etkileşim kurduğunda sunulan geçici giriş klavyesi, özelliği aracılığıyla Keyboard
program aracılığıyla sınıfından aşağıdaki özelliklerden Keyboard
birine ayarlanabilir:
Chat
– emojilerin yararlı olduğu metinler ve yerler için kullanılır.Default
– varsayılan klavye.Email
– e-posta adresleri girilirken kullanılır.Numeric
– sayılar girilirken kullanılır.Plain
– herhangi birKeyboardFlags
belirtilmeden metin girerken kullanılır.Telephone
– telefon numaraları girilirken kullanılır.Text
– metin girerken kullanılır.Url
– dosya yollarını ve web adreslerini girmek için kullanılır.
Aşağıdaki örnekte özelliğin ayarlanması gösterilmektedir Keyboard
:
<Entry Keyboard="Chat" />
Sınıfı ayrıca Keyboard
büyük harfe çevirme, yazım denetimi ve öneri davranışı belirterek klavyeyi özelleştirmek için kullanılabilecek bir fabrika yöntemine sahiptir Create
. KeyboardFlags
sabit listesi değerleri yöntemine bağımsız değişken olarak belirtilir ve özelleştirilmiş Keyboard
bir değer döndürülür. Numaralandırma KeyboardFlags
aşağıdaki değerleri içerir:
None
– klavyeye özellik eklenmez.CapitalizeSentence
– girilen her tümcenin ilk sözcüğünün ilk harfinin otomatik olarak büyük harfe dönüştürüleceğini belirtir.Spellcheck
– girilen metinde yazım denetiminin gerçekleştirileceğini gösterir.Suggestions
– girilen metinde sözcük tamamlamalarının sunulacağını belirtir.CapitalizeWord
– her sözcüğün ilk harfinin otomatik olarak büyük harfe yazılacağını belirtir.CapitalizeCharacter
– her karakterin otomatik olarak büyük harfe yazılacağını gösterir.CapitalizeNone
– otomatik büyük harfe çevirme gerçekleşmeyeceğini gösterir.All
– girilen metinde yazım denetimi, sözcük tamamlamaları ve tümce büyük harf kullanımını gösterir.
Aşağıdaki XAML kod örneğinde, sözcük tamamlamaları sunmak ve girilen her karakteri büyük harfe çevirme amacıyla varsayılanın Keyboard
nasıl özelleştirileceği gösterilmektedir:
<Entry Placeholder="Enter text here">
<Entry.Keyboard>
<Keyboard x:FactoryMethod="Create">
<x:Arguments>
<KeyboardFlags>Suggestions,CapitalizeCharacter</KeyboardFlags>
</x:Arguments>
</Keyboard>
</Entry.Keyboard>
</Entry>
Eşdeğer C# kodu:
Entry entry = new Entry { Placeholder = "Enter text here" };
entry.Keyboard = Keyboard.Create(KeyboardFlags.Suggestions | KeyboardFlags.CapitalizeCharacter);
Dönüş anahtarını özelleştirme
Bir odak olduğunda Entry görüntülenen geçici giriş klavyesinde dönüş tuşunun görünümü, özelliği sabit listesi değerine ReturnType
ayarlanarak ReturnType
özelleştirilebilir:
Default
– belirli bir dönüş anahtarına gerek olmadığını ve platform varsayılan değerinin kullanılacağını belirtir.Done
– "Bitti" dönüş anahtarını gösterir.Go
– "Go" dönüş anahtarını gösterir.Next
– bir "İleri" dönüş anahtarını gösterir.Search
– bir "Arama" dönüş anahtarını gösterir.Send
– "Gönder" dönüş anahtarını gösterir.
Aşağıdaki XAML örneği, dönüş anahtarının nasıl ayarlandığını gösterir:
<Entry ReturnType="Send" />
Not
Dönüş anahtarının tam görünümü platforma bağlıdır. iOS'ta dönüş tuşu metin tabanlı bir düğmedir. Ancak Android ve Windows'da dönüş tuşu simge tabanlı bir düğmedir.
Return tuşuna basıldığında olay Completed
tetikler ve özelliği tarafından ReturnCommand
belirtilenler ICommand yürütülür. Ayrıca, özelliği tarafından ReturnCommandParameter
belirtilen herhangi biri object
parametresi olarak geçirilirICommand. Komutlar hakkında daha fazla bilgi için bkz . Komut oluşturma.
Yumuşak giriş klavyesini gizleme ve gösterme
SoftInputExtensions
sınıfı, ad alanındaMicrosoft.Maui
, metin girişini destekleyen denetimlerde yumuşak giriş klavyesi ile etkileşim kurmayı destekleyen bir dizi uzantı yöntemi sağlar. sınıfı aşağıdaki yöntemleri tanımlar:
IsSoftInputShowing
, cihazın şu anda yumuşak giriş klavyesini gösterip göstermediğini denetler.HideSoftInputAsync
, şu anda gösteriliyorsa yumuşak giriş klavyesini gizlemeye çalışır.ShowSoftInputAsync
, şu anda gizliyse yumuşak giriş klavyesini göstermeye çalışır.
Aşağıdaki örnekte, şu anda gösteriliyorsa, adlı entry
bir Entry üzerinde geçici giriş klavyesinin nasıl gizlendiğini gösterir:
if (entry.IsSoftInputShowing())
await entry.HideSoftInputAsync(System.Threading.CancellationToken.None);
Yazım denetimini etkinleştirme ve devre dışı bırakma
özelliği yazım IsSpellCheckEnabled
denetiminin etkinleştirilip etkinleştirilmediğini denetler. Varsayılan olarak özelliği olarak true
ayarlanır. Kullanıcı metin girerken, yazım hataları belirtilir.
Ancak, kullanıcı adı girme gibi bazı metin girişi senaryolarında yazım denetimi olumsuz bir deneyim sağlar ve özelliği false
olarak ayarlanarak IsSpellCheckEnabled
devre dışı bırakılmalıdır:
<Entry ... IsSpellCheckEnabled="false" />
Not
IsSpellCheckEnabled
özelliği olarak false
ayarlandığında ve özel bir klavye kullanılmadığında, yerel yazım denetleyicisi devre dışı bırakılır. Ancak, gibi Keyboard.Chat
IsSpellCheckEnabled
yazım denetimini devre dışı bırakır bir Keyboard
ayarlanmışsa özelliği yoksayılır. Bu nedenle özelliği, açıkça devre dışı bırakılan bir Keyboard
için yazım denetimini etkinleştirmek için kullanılamaz.
Metin tahminlerini etkinleştirme ve devre dışı bırakma
özelliği, IsTextPredictionEnabled
metin tahmininin ve otomatik metin düzeltmenin etkinleştirilip etkinleştirilmediğini denetler. Varsayılan olarak özelliği olarak true
ayarlanır. Kullanıcı metin girerken sözcük tahminleri sunulur.
Ancak kullanıcı adı girme, metin tahmini ve otomatik metin düzeltme gibi bazı metin girişi senaryoları olumsuz bir deneyim sağlar ve özelliği false
olarak ayarlanarak IsTextPredictionEnabled
devre dışı bırakılmalıdır:
<Entry ... IsTextPredictionEnabled="false" />
Not
IsTextPredictionEnabled
özelliği olarak false
ayarlandığında ve özel bir klavye kullanılmadığında, metin tahmini ve otomatik metin düzeltme devre dışı bırakılır. Ancak, metin tahminini devre dışı bırakabilecek bir Keyboard
ayarlanmışsa özelliği IsTextPredictionEnabled
yoksayılır. Bu nedenle, özelliği açıkça devre dışı bırakır bir Keyboard
için metin tahminini etkinleştirmek için kullanılamaz.
Metin girişini engelle
Özelliği true
olarak ayarlanarak kullanıcıların içindeki Entry metni değiştirmesi IsReadOnly
engellenebilir:
<Entry Text="User input won't be accepted."
IsReadOnly="true" />