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.
Not
Bu kitap 2016 baharında yayımlanmıştır ve o zamandan beri güncellenmemiştir. Kitapta değerli kalan çok şey vardır, ancak bazı malzemeler eskidir ve bazı konular artık tamamen doğru veya eksiksiz değildir.
Bu bölümde, kullanıcıyla etkileşime izin veren sekiz View türev araştırılmaktadır.
Görünüme genel bakış
Xamarin.Forms ,'den View türetilen ancak türetilmeyen Layout20 örneklenebilir sınıf içerir. Bunlardan altısı önceki bölümlerde ele alınmıştır:
Label: Bölüm 2. Bir uygulamanın anatomisiBoxView: Bölüm 3. Yığını kaydırmaButton: Bölüm 6. Düğme tıklamalarıImage: Bölüm 13. Bit EşlemlerActivityIndicator: Bölüm 13. Bit EşlemlerProgressBar: Bölüm 14. AbsoluteLayout
Bu bölümdeki sekiz görünüm, kullanıcının temel .NET veri türleriyle etkileşim kurmasını etkili bir şekilde sağlar:
| Veri türü | Görünümler |
|---|---|
Double |
Slider, Stepper |
Boolean |
Switch |
String |
Entry, Editor, SearchBar |
DateTime |
DatePicker, TimePicker |
Bu görünümleri, temel alınan veri türlerinin görsel etkileşimli gösterimleri olarak düşünebilirsiniz. Bu kavram, sonraki bölüm olan 16. bölümde daha fazla inceleniyor. Veri bağlama.
Kalan altı görünüm aşağıdaki bölümlerde ele alınmıştır:
WebView: Bölüm 16. Veri bağlamaPicker: Bölüm 19. Koleksiyon görünümleriListView: Bölüm 19. Koleksiyon görünümleriTableView: Bölüm 19. Koleksiyon görünümleriMap: Bölüm 28. Konum ve HaritalarOpenGLView: Bu kitapta ele alınmamıştır (ve Windows platformları için destek yoktur)
Kaydırıcı ve step
Her ikisi de Slider ve Stepper kullanıcının bir aralıktan sayısal bir değer seçmesine izin verir. Slider, ayrık değerler içerirken Stepper sürekli bir aralıktır.
Kaydırıcı temelleri
, Slider soldaki en düşük değer aralığından sağda en yüksek değer aralığına kadar olan bir aralığı temsil eden yatay bir çubuk. Üç genel özelliği tanımlar:
Valuetüründedouble, varsayılan değer 0Minimumtüründedouble, varsayılan değer 0Maximumtüründedouble, varsayılan değer 1
Bu özellikleri destekleyen bağlanabilir özellikler tutarlı olmalarını sağlar:
- Üç özellik için de,
coerceValuebağlanabilir özellik için belirtilen yöntem ileMaximumarasındaMinimumolmasınıValuesağlar. validateValueüzerindekiMinimumPropertyyöntemi, değerinden büyük veya buna eşit ve içinMaximumPropertybenzer bir değereMaximumayarlanıyorsaMinimumdöndürürfalse. yönteminden döndürülmekfalsevalidateValue, bir'inArgumentExceptionyükseltilmesine neden olur.
Slider özelliği değiştiğinde ValueChanged veya kullanıcı tarafından işlendiğinde olayı bir ValueChangedEventArgs bağımsız değişkenle Value tetikler Slider.
SliderDemo örneği, basit kullanımını Slidergösterir.
Yaygın tuzaklar
Hem kodda hem de XAML'de Minimum ve Maximum özellikleri belirttiğiniz sırada ayarlanır. Bu özellikleri her zaman değerinden Maximum büyük olacak şekilde başlatmayı Minimumunutmayın. Aksi takdirde bir özel durum oluşturulur.
Özelliklerin Slider başlatılması özelliğin Value değişmesine ve ValueChanged olayın tetiklenmesine neden olabilir. Olay işleyicisinin Slider sayfa başlatma sırasında henüz oluşturulmamış görünümlere erişmediğinden emin olmanız gerekir.
ValueChanged Özellik değişmediği sürece Value başlatma sırasında Slider olay tetiklenmiyor. İşleyiciyi ValueChanged doğrudan koddan çağırabilirsiniz.
Kaydırıcı rengi seçimi
RgbSliders programı, RGB değerlerini belirterek etkileşimli olarak bir renk seçmenize olanak sağlayan üç Slider öğe içerir:
TextFade örneği, iki öğeyi bir arasında taşımak ve bir AbsoluteLayout öğeyi diğerine soldurmak için iki Slider Label öğe kullanır.
Stepper farkı
ile Stepper aynı özellikleri ve olayları Slider tanımlar, ancak Maximum özelliği 100'e başlatılır ve Stepper dördüncü bir özelliği tanımlar:
Incrementtüründedouble, 1 olarak başlatıldı
Görsel olarak , Stepper ve +etiketli iki düğmeden oluşur. Tuşuna basmak – en az Minimumolacak şekilde azalır Value Increment. Tuşuna basıldığında + Increment en fazla Maximumolarak artarValue.
Bu, StepperDemo örneği tarafından gösterilmiştir.
Anahtar ve Onay Kutusu
, Switch kullanıcının bir Boole değeri belirtmesine izin verir.
Temel bilgileri değiştirme
Görsel olarak, Switch seçeneği kapatılabilir ve açılabilir bir iki durumlu düğmeden oluşur. sınıfı bir özellik tanımlar:
IsToggledtürübool
Switch bir olayı tanımlar:
Toggledözelliği değiştiğinde tetiklenenIsToggledbirToggledEventArgsnesneyle birlikte.
SwitchDemo programı, öğesini Switchgösterir.
Geleneksel bir CheckBox
Bazı geliştiriciler için daha geleneksel CheckBox Switchbir tercih olabilir. Book.Toolkit kitaplığı, öğesinden ContentViewtüretilen bir CheckBox sınıf içerir.Xamarin.Forms CheckBoxCheckBox.xaml ve CheckBox.xaml.cs dosyaları tarafından uygulanır. CheckBox üç özelliği (Text, FontSizeve IsChecked) ve bir CheckedChanged olayı tanımlar.
CheckBoxDemo örneği bunu CheckBoxgösterir.
Metin yazma
Xamarin.Forms kullanıcının metin girmesini ve düzenlemesini sağlayan üç görünümü tanımlar:
Entrytek bir metin satırı içinEditorbirden çok metin satırı içinSearchBararama amacıyla tek bir metin satırı için.
Entry ve Editor 'den InputViewtüretilir View. SearchBar doğrudan öğesinden Viewtüretilir.
Klavye ve odak
Fiziksel klavyesi olmayan telefonlarda ve tabletlerde, , Editorve SearchBar öğelerinin Entrytümü sanal klavyenin açılır olmasına neden olur. Bu klavyenin ekranda bulunması giriş odağıyla ilgilidir. Bir görünümün giriş odağını almak için hem hem IsVisible de IsEnabled özellikleri ayarlanmış true olmalıdır.
Giriş odağına iki yöntem, bir salt okunur özellik ve iki olay dahil edilir. Bunların tümü tarafından VisualElementtanımlanır:
Focusyöntemi giriş odağını bir öğeye ayarlamayı dener ve başarılı olursa döndürürtrue- yöntemi bir
Unfocusöğeden giriş odağını kaldırır IsFocusedSalt okunur özelliği, öğenin giriş odağının olup olmadığını gösterir- Olay,
Focusedbir öğenin giriş odağını ne zaman aldığını gösterir - Olay,
Unfocusedbir öğenin giriş odağını ne zaman kaybettiğini gösterir
Klavyeyi Seçme
InputView ve türetilen Entry Editor sınıfı yalnızca bir özelliği tanımlar:
Bu, görüntülenen klavye türünü gösterir. Bazı klavyeler URI'ler veya sayılar için iyileştirilmiştir.
sınıfı, Keyboard aşağıdaki bit bayraklarına sahip bir sabit listesi türündeki KeyboardFlagsbağımsız değişkene sahip statik Keyboard.Create bir yönteme sahip bir klavye tanımlamaya olanak tanır:
None0 olarak ayarlayınCapitalizeSentence1 olarak ayarlayınSpellcheck2 olarak ayarlayınSuggestions4 olarak ayarlayınAll\xFFFFFFFF olarak ayarlayın
Çok satırlı Editor bir paragraf veya daha fazla metin beklendiğinde kullanıldığında, klavye seçmek için çağrı Keyboard.Create yapmak iyi bir yaklaşımdır. Tek satırlı Entryiçin aşağıdaki statik salt okunur özellikleri Keyboard yararlıdır:
DefaultTextChatUrlEmailTelephoneNumericondalık ayırıcısı olan veya olmayan pozitif sayılar için.
, KeyboardTypeConverter EntryKeyboards programı tarafından gösterildiği gibi XAML'de bu özelliklerin belirtilmesine izin verir.
Giriş özellikleri ve olayları
Tek satır Entry aşağıdaki özellikleri tanımlar:
Texttüründestring, içinde görüntülenen metinEntryTextColortürüColorFontFamilytürüstringFontSizetürüdoubleFontAttributestürüFontAttributesIsPasswordtürübool, karakterlerin maskelenmelerine neden olurPlaceholdertüründestring, herhangi bir şey yazılmadan önce içindeEntrygörünen soluk renkli metin içinPlaceholderColortürüColor
ayrıca Entry iki olayı tanımlar:
TextChangedbirTextChangedEventArgsnesneyle, özellik her değiştiğindeTexttetiklenirCompleted, kullanıcı bittiğinde ve klavye kapatıldığında tetiklenir. Kullanıcı, tamamlanmanın platforma özgü bir şekilde olduğunu belirtir
QuadraticEquations örneği bu iki olayı gösterir.
Düzenleyici farkı
Çok satırlıEditor, diğer özelliklerle Entry aynı Text ve Font özellikleri tanımlar ancak tanımlamaz. Editor ayrıca ile aynı iki özelliği Entrytanımlar.
JustNotes , içeriğini kaydeden ve geri yükleyen serbest biçimli bir not alma programıdır Editor.
Arama Çubuğu
SearchBar,'den InputViewtüretilmez, bu nedenle özelliği Keyboard yoktur. Ancak tanımlayan tüm Text, Fontve Placeholder özelliklerine Entry sahiptir. Buna ek olarak, SearchBar üç ek özellik tanımlar:
CancelButtonColortürüColorSearchCommandveri bağlamaları ve MVVM ile kullanılacak türdeICommandSearchCommandParametertürüne sahipObject, ile kullanım içinSearchCommand
Platforma özgü iptal düğmesi metni siler. ayrıca platforma SearchBar özgü bir arama düğmesi de vardır. Bu düğmelerden birine basmak şunları tanımlayan SearchBar iki olaydan birini tetikler:
TextChangedbirTextChangedEventArgsnesnenin eşlik ettiğiSearchButtonPressed
SearchBarDemo örneğinde gösterilmiştirSearchBar.
Tarih ve saat seçimi
DatePicker ve TimePicker görünümleri, kullanıcının tarih veya saat belirtmesine olanak sağlayan platforma özgü denetimler uygular.
The DatePicker
DatePicker dört özelliği tanımlar:
MinimumDatetüründeDateTime, 1 Ocak 1900'e kadar başlatıldıMaximumDatetüründeDateTime, 31 Aralık 2100'e kadar başlatıldıDatetüründeDateTime, başlatıldıDateTime.TodayFormattüründestring, kısa tarih deseni olan "d" olarak başlatılan .NET biçimlendirme dizesi, ABD'de "20/7/1969" gibi bir tarih görüntüsüyle sonuçlanır.
Özellikleri özellik öğeleri olarak ifade ederek ve kültür sabiti kısa tarih biçimini ("7/20/1969") kullanarak XAML'de özellikleri ayarlayabilirsiniz DateTime .
DaysBetweenDates örneği, kullanıcı tarafından seçilen iki tarih arasındaki gün sayısını hesaplar.
TimePicker (veya bir TimeSpanPicker mı?)
TimePicker iki özellik tanımlar ve olay yoktur:
Time, yerine türündedirTimeSpanDateTimeve gece yarısından bu yana geçen süreyi belirtirFormattüründestring, .NET biçimlendirme dizesi "t" olarak başlatıldı, kısa zaman deseni, ABD'de "1:45 PM" gibi bir zaman görüntüsüyle sonuçlandı.
SetTimer programı, zamanlayıcı için bir zaman belirtmek için öğesinin nasıl kullanılacağını TimePicker gösterir. Program yalnızca ön planda tutarsanız çalışır.
SetTimer, bir uyarı kutusu görüntülemek için yönteminin Page kullanılmasını DisplayAlert da gösterir.
