Xamarin.Forms ortak denetim özellikleri, yöntemleri ve olayları
Xamarin.FormsVisualElement
sınıfı, bir Xamarin.Forms uygulamada kullanılan denetimlerin çoğu için temel sınıftır. sınıfıVisualElement
, türetilen sınıflarda kullanılan birçok özelliği, yöntemi ve olayı tanımlar.
Properties
Nesnelerde VisualElement
aşağıdaki özellikler kullanılabilir.
AnchorX
AnchorX
özelliği, ölçek ve döndürme gibi dönüşümler için X ekseninde merkez noktasını tanımlayan bir double
değerdir. Varsayılan değer 0,5'tir.
AnchorY
AnchorY
özelliği, ölçek ve döndürme gibi dönüşümler için Y ekseninde merkez noktasını tanımlayan bir double
değerdir. Varsayılan değer 0,5'tir.
Background
Background
özelliği, fırçaların herhangi bir denetimde arka plan olarak kullanılmasını sağlayan bir Brush
değerdir. Varsayılan değer şudur: Brush.Default
.
BackgroundColor
BackgroundColor
özelliği, denetimin arka plan rengini belirleyen bir Color
özelliğidir. Ayar kaldırılırsa, arka plan saydam olarak işlenen varsayılan Color
nesne olur.
Behaviors
Behaviors
özelliği nesnelerden oluşan bir List
özelliktirBehavior
. Davranışlar, öğeleri listeye ekleyerek yeniden kullanılabilir işlevler eklemenize Behaviors
olanak tanır. Sınıfı hakkında Behavior
daha fazla bilgi için bkz Xamarin.Forms . Davranışlar.
Bounds
Bounds
özelliği, denetimin kapladığı alanı temsil eden salt Rectangle
okunur bir nesnedir. Özellik Bounds
değeri, düzen döngüsü sırasında atanır. , Rectangle
struct
dikdörtgenlerin kesişimini ve kapsamasını test etme için yararlı özellikler ve yöntemler içerir. Daha fazla bilgi için bkz Xamarin.Forms . Rectangle API.
Clip
Clip
özelliği, bir Geometry
öğenin içeriğinin ana hattını tanımlayan bir nesnedir. Küçük resim tanımlamak için öğesinin Clip
özelliğini ayarlamak için gibi EllipseGeometry
bir Geometry
nesne kullanın. Yalnızca geometrinin bölgesinde yer alan alan görünür. Daha fazla bilgi için bkz . Geometri ile kırpma.
Effects
Effects
özelliği, sınıfından devralınan Effect
nesnelerin bir List
öğesidirElement
. Efektler, yerel denetimlerin özelleştirilmesine olanak sağlar ve genellikle küçük stil değişiklikleri için kullanılır. Sınıfı hakkında Effect
daha fazla bilgi için bkz Xamarin.Forms . Efektler.
FlowDirection
FlowDirection
özelliği bir FlowDirection
sabit listesi değeridir. Akış yönü , LeftToRight
veya RightToLeft
olarak ayarlanabilir MatchParent
ve düzen sırasını ve yönünü belirler. FlowDirection
özelliği genellikle sağdan sola okuyan dilleri desteklemek için kullanılır.
Height
Height
özelliği, denetimin işlenmiş yüksekliğini açıklayan salt okunur double
bir değerdir. Height
Özellik, düzen döngüsü sırasında hesaplanır ve doğrudan ayarlanamaz. HeightRequest özelliği kullanılarak denetimin yüksekliği istenebilir.
HeightRequest
HeightRequest
özelliği, denetimin istenen yüksekliğini belirleyen bir double
değerdir. Denetimin mutlak yüksekliği istenen değerle eşleşmeyebilir. Daha fazla bilgi için bkz . İstek özellikleri.
InputTransparent
InputTransparent
özelliği, denetimin kullanıcı girişi alıp almadığını belirleyen bir bool
özelliktir. Varsayılan değer, öğesinin giriş aldığından emin olarak şeklindedir false
. Bu özellik ayarlandığında alt öğelere aktarır. özelliğinin InputTransparent
bir düzen sınıfında olarak true
ayarlanması, düzendeki tüm öğelerin giriş almamasıyla sonuçlanır.
IsEnabled
IsEnabled
özelliği, denetimin kullanıcı girişine tepki verip vermediğini belirleyen bir bool
değerdir. Varsayılan değer şudur: true
. Bu özelliği false olarak ayarlamak, denetimin kullanıcı girişini kabul etmesini engeller.
IsFocused
IsFocused
özelliği, denetimin şu anda odaklanmış nesne olup olmadığını açıklayan bir bool
değerdir. denetimde Focus
yönteminin çağrılması, değerin true olarak ayarlanmasına IsFocused
neden olur. yöntemi çağrılırsa Unfocus
bu özellik false olarak ayarlanır.
IsTabStop
IsTabStop
özelliği, kullanıcı sekme tuşuyla denetimler arasında ilerlerken denetimin odağı alıp almadığını tanımlayan bir bool
değerdir. Bu özellik false ise özelliğin TabIndex
hiçbir etkisi olmaz.
IsVisible
IsVisible
özelliği, denetimin işlenip işlenmediğini belirleyen bir bool
değerdir. IsVisible
özelliği false olarak ayarlanmış denetimler görüntülenmez, düzen döngüsü sırasında alan hesaplamaları için dikkate alınmaz ve kullanıcı girişini kabul etmez.
MinimumHeightRequest
MinimumHeightRequest
özelliği, iki öğe sınırlı alan için rekabet ederken taşma işleminin nasıl işleneceğini belirleyen bir double
değerdir. özelliğinin MinimumHeightRequest
ayarlanması, düzen işleminin öğeyi istenen en düşük boyuta kadar ölçeklendirmesine olanak tanır. Belirtilmezse MinimumHeightRequest
, varsayılan değer -1'dir ve düzen işlemi en düşük değer olarak kabul HeightRequest
eder. Bu, değeri olmayan MinimumHeightRequest
öğelerin ölçeklenebilir yüksekliğe sahip olmayacağı anlamına gelir.
Daha fazla bilgi için bkz . En düşük istek özellikleri.
MinimumWidthRequest
MinimumWidthRequest
özelliği, iki öğe sınırlı alan için rekabet ederken taşma işleminin nasıl işleneceğini belirleyen bir double
değerdir. özelliğinin MinimumWidthRequest
ayarlanması, düzen işleminin öğeyi istenen en düşük boyuta kadar ölçeklendirmesine olanak tanır. Belirtilmezse MinimumWidthRequest
, varsayılan değer -1'dir ve düzen işlemi en düşük değer olarak kabul WidthRequest
eder. Bu, değeri olmayan MinimumWidthRequest
öğelerin ölçeklenebilir genişliğe sahip olmayacağı anlamına gelir.
Daha fazla bilgi için bkz . En düşük istek özellikleri.
Opacity
Opacity
özelliği, işleme sırasında denetimin opaklığını belirleyen sıfırdan bire kadar olan bir double
değerdir. Bu özelliğin varsayılan değeri 1.0'dır. 0 ile 1 arasında aralığın dışındaki değerler sıkıştırılır. Opacity
özelliği yalnızca özelliği ise IsVisible
true
uygulanır. Opaklık yinelemeli olarak uygulanır. Bu nedenle, bir üst denetimin 0,5 opaklığı varsa ve alt öğesi 0,5 opaklığa sahipse, alt öğe etkin bir 0,25 opaklık değeriyle işlenir. Giriş denetiminin Opacity
özelliğini 0 olarak ayarlamak tanımsız bir davranışa sahiptir.
Parent
Parent
özelliği sınıfından devralınırElement
. Bu özellik, denetimin üst öğesi olan bir Element
nesnedir. Parent
özelliği genellikle başka bir öğenin alt öğesi olarak eklendiğinde bir öğede otomatik olarak ayarlanır.
Resources
Resources
özelliği, genellikle XAML'den çalışma zamanında doldurulan anahtar/değer çiftleriyle doldurulmuş bir ResourceDictionary
örnektir. Bu sözlük, uygulama geliştiricilerinin hem derleme zamanında hem de çalışma zamanında XAML'de tanımlanan nesneleri yeniden kullanmasına olanak tanır. Sözlükteki anahtarlar XAML etiketinin x:Key
özniteliğinden doldurulur. XAML'den oluşturulan nesne, belirtilen anahtar için öğesine ResourceDictionary
eklenir. başlatıldıktan sonra.
Daha fazla bilgi için bkz . Kaynak Sözlükleri.
Rotation
Rotation
özelliği, Z ekseni hakkındaki döndürmeyi derece cinsinden tanımlayan sıfır ile 360 arasında bir double
değerdir. Bu özelliğin varsayılan değeri 0'dır. Döndürme, ve AnchorY
değerlerine AnchorX
göre uygulanır.
RotationX
RotationX
özelliği, X ekseninin döndürmesini derece cinsinden tanımlayan sıfır ile 360 arasında bir double
değerdir. Bu özelliğin varsayılan değeri 0'dır. Döndürme, ve AnchorY
değerlerine AnchorX
göre uygulanır.
RotationY
özelliği, RotationY
Y ekseniyle ilgili döndürmeyi derece cinsinden tanımlayan sıfır ile 360 arasında bir double
değerdir. Bu özelliğin varsayılan değeri 0'dır. Döndürme, ve AnchorY
değerlerine AnchorX
göre uygulanır.
Scale
Scale
özelliği, denetimin ölçeğini tanımlayan bir double
değerdir. Bu özelliğin varsayılan değeri 1.0'dır. Ölçek, ve AnchorY
değerlerine AnchorX
göre uygulanır.
ScaleX
ScaleX
özelliği, denetimin X ekseni boyunca ölçeğini tanımlayan bir double
değerdir. Bu özelliğin varsayılan değeri 1.0'dır. ScaleX
özelliği değere AnchorX
göre uygulanır.
ScaleY
ScaleY
özelliği, denetimin Y ekseni boyunca ölçeğini tanımlayan bir double
değerdir. Bu özelliğin varsayılan değeri 1.0'dır. ScaleY
özelliği değere AnchorY
göre uygulanır.
Style
Style
özelliği sınıfından devralınırNavigableElement
. Bu özellik sınıfının bir örneğidir Style
. Style
sınıfı, görsel öğelerin görünümünü ve davranışını tanımlayan tetikleyiciler, ayarlayıcılar ve davranışlar içerir. Daha fazla bilgi için bkz Xamarin.Forms . XAML Stilleri.
StyleClass
StyleClass
özelliği, sınıfların string
adlarını temsil eden nesnelerin listesidirStyle
. Bu özellik sınıfından devralınır NavigableElement
. özelliği, StyleClass
bir VisualElement
örneğe birden çok stil özniteliğinin uygulanmasına izin verir. Daha fazla bilgi için bkz Xamarin.Forms . Stil Sınıfları.
TabIndex
TabIndex
özelliği, sekme tuşuyla denetimler arasında ilerlerken denetim sırasını tanımlayan bir int
değerdir. TabIndex
özelliği, sınıfı tarafından uygulanan arabiriminde ITabStopElement
tanımlanan özelliğin VisualElement
uygulamasıdır.
TranslationX
TranslationX
özelliği, X eksenine uygulanacak delta çevirisini tanımlayan bir double
değerdir. Çeviri, düzenden sonra uygulanır ve genellikle animasyonları uygulamak için kullanılır. Bir öğenin üst kapsayıcısının sınırları dışında çevrilmesi girişlerin çalışmasını engelleyebilir.
Daha fazla bilgi için bkz . içinde Xamarin.Formsanimasyon.
TranslationY
TranslationY
özelliği, Y eksenine uygulanacak delta çevirisini tanımlayan bir double
değerdir. Çeviri, düzenden sonra uygulanır ve genellikle animasyonları uygulamak için kullanılır. Bir öğenin üst kapsayıcısının sınırları dışında çevrilmesi girişlerin çalışmasını engelleyebilir.
Daha fazla bilgi için bkz . içinde Xamarin.Formsanimasyon.
Triggers
Triggers
özelliği nesnelerin salt List
okunur bir özelliğidirTriggerBase
. Tetikleyiciler, uygulama geliştiricilerinin olay veya özellik değişikliklerine yanıt olarak denetimlerin görsel görünümünü değiştiren eylemleri XAML'de ifade etmelerine olanak sağlar. Daha fazla bilgi için bkz Xamarin.Forms . Tetikleyiciler.
Visual
Visual
özelliği, işleyicilerin oluşturulmasını ve örneklere seçmeli olarak uygulanmasını VisualElement
sağlayan bir IVisual
örnektir. Visual
özelliği üst öğesiyle eşleşecek şekilde ayarlanır, bu nedenle bir bileşende işleyici tanımlamak bu bileşenin tüm alt öğeleri için de geçerli olur. Bir denetimde veya onun üst öğelerinde hiçbir özel işleyici ayarlanmadıysa, varsayılan Xamarin.Forms işleyici kullanılır. Daha fazla bilgi için bkz Xamarin.Forms . Görsel.
Width
Width
özelliği, denetimin işlenen genişliğini açıklayan salt double
okunur bir değerdir. Width
Özellik, düzen döngüsü sırasında hesaplanır ve doğrudan ayarlanamaz. WidthRequest özelliği kullanılarak bir denetimin genişliği istenebilir.
WidthRequest
WidthRequest
özelliği, denetimin istenen genişliğini belirleyen bir double
değerdir. Denetimin mutlak genişliği istenen değerle eşleşmeyebilir. Daha fazla bilgi için bkz . İstek özellikleri.
X
X
özelliği, denetimin geçerli X konumunu açıklayan salt double
okunur bir değerdir.
Y
Y
özelliği, denetimin geçerli Y konumunu açıklayan salt double
okunur bir değerdir.
Yöntemler
Aşağıdaki yöntemler sınıfında kullanılabilir VisualElement
. Tam liste için bkz . VisualElement API Yöntemleri.
FindByName
FindByName
yöntemi sınıfından devralınır Element
ve aşağıdaki imzaya sahiptir:
public object FindByName (string name)
Bu yöntem, sağlanan name
bağımsız değişken için tüm alt öğeleri arar ve belirtilen ada sahip öğeyi döndürür. Eşleşme bulunmazsa, null
döndürülür.
Focus
Focus
yöntemi, öğeye odaklanmayı dener. Bu yöntem aşağıdaki imzaya sahiptir:
public bool Focus ()
Yöntemi, Focus
klavye odağı başarıyla ayarlandıysa ve false
yöntem çağrısı odak değişikliğine neden olmadıysa döndürürtrue
. Bu yöntemin çalışması için öğesinin odağı alabilmesi gerekir. Focus
Yönteminin ekrandan uzak veya gerçekleştirilmemiş öğelerde çağrılması tanımsız bir davranışa sahiptir.
Unfocus
Unfocus
yöntemi, öğesinde odağı kaldırmaya çalışır. Bu yöntem aşağıdaki imzaya sahiptir:
public void Unfocus ()
Bu yöntemin çalışması için öğenin zaten odağı olmalıdır.
Ekinlikler
Aşağıdaki olaylar sınıfında VisualElement
kullanılabilir. Tam liste için bkz Xamarin.Forms . VisualElement Olayları.
Focused
Olay Focused
, örnek her odak aldığında oluşturulur VisualElement
. Bu olay yığında Xamarin.Forms kabarcıklı değildir, doğrudan yerel denetimden alınır. Bu olay özellik ayarlayıcısı tarafından IsFocused
yayılır.
SizeChanged
OlaySizeChanged
, örnek Height
veya Width
özellikler değiştiğinde VisualElement
oluşturulur. Geliştiriciler değişiklik sonrası olayına yanıt vermek yerine boyut değişikliğine doğrudan yanıt vermek isterse, bunun yerine sanal yöntemi uygulamalıdır OnSizeAllocated
.
Unfocused
Olay Unfocused
, örnek odağı kaybettiğinde VisualElement
oluşturulur. Bu olay yığında Xamarin.Forms kabarcıklı değildir, doğrudan yerel denetimden alınır. Bu olay özellik ayarlayıcısı tarafından IsFocused
yayılır.
Ölçü Birimleri
Android, iOS ve UWP platformlarının tümü cihazlar arasında farklılık gösterebilen farklı ölçü birimlerine sahiptir. Xamarin.Forms cihazlar ve platformlar arasında birimleri normalleştiren platformdan bağımsız bir ölçü birimi kullanır. içinde inç başına 160 birim veya santimetre Xamarin.Formsbaşına 64 birim vardır.
İstek özellikleri
Adları "istek" içeren özellikler, gerçek işlenen değerle eşleşmeyen istenen bir değer tanımlar. Örneğin, HeightRequest
150 olarak ayarlanabilir, ancak düzen yalnızca 100 birim için yer açmasına izin veriyorsa, denetimin işlenmesi Height
yalnızca 100 olur. İşlenen boyut kullanılabilir alandan ve kapsanan bileşenlerden etkilenir.
En düşük istek özellikleri
En düşük istek özellikleri ve MinimumWidthRequest
öğelerini içerir MinimumHeightRequest
ve öğelerin taşma işlemlerini birbirine göre nasıl işlediği üzerinde daha hassas bir denetim sağlamak için tasarlanmıştır. Ancak, bu özelliklerle ilgili düzen davranışında dikkat edilmesi gereken bazı önemli noktalar vardır.
Belirtilmemiş en düşük özellik değerleri
En düşük değer ayarlanmadıysa, minimum özellik varsayılan olarak -1 olur. Düzen işlemi bu değeri yoksayar ve mutlak değeri en düşük olarak kabul eder. Bu davranışın pratik sonucu, minimum değeri belirtilmeyen bir öğenin küçülmemesidir . Belirtilen en düşük değere sahip bir öğe küçülür .
Aşağıdaki XAML yatayda StackLayout
iki BoxView
öğeyi gösterir:
<StackLayout Orientation="Horizontal">
<BoxView HeightRequest="100" BackgroundColor="Purple" WidthRequest="500"></BoxView>
<BoxView HeightRequest="100" BackgroundColor="Green" WidthRequest="500" MinimumWidthRequest="250"></BoxView>
</StackLayout>
İlk BoxView
örnek 500 genişlik isteğinde bulunur ve minimum genişlik belirtmez. İkinci BoxView
örnek 500 genişlik ve en az 250 genişlik istemektedir. Üst StackLayout
öğe istenen genişlikte her iki bileşeni de içerecek kadar geniş değilse, başka geçerli bir minimum belirtilmediğinden, ilk BoxView
örnek düzen işlemi tarafından en az 500 genişliğe sahip olarak kabul edilir. İkinci BoxView
örneğin ölçeği 250'ye düşürülür ve genişliği 250 üniteye ulaşana kadar sığacak şekilde küçülür.
İstenen davranış, ilk BoxView
örneğin minimum genişlik olmadan ölçeği azaltması içinse, değerinin MinimumWidthRequest
0 gibi geçerli bir değere ayarlanması gerekir.
Minimum ve mutlak özellik değerleri
En düşük değer mutlak değerden büyük olduğunda davranış tanımlanmamıştır. Örneğin, 100 olarak ayarlanırsa WidthRequest
özellik MinimumWidthRequest
hiçbir zaman 100'ü aşmamalıdır. En düşük özellik değerini belirtirken, mutlak değerin minimum değerden büyük olduğundan emin olmak için her zaman mutlak bir değer belirtmeniz gerekir.
Kılavuz içindeki en düşük özellikler
Grid
düzenlerin, satırların ve sütunların göreli olarak boyutlandırılması için kendi sistemleri vardır. Bir düzenin içinde Grid
veya MinimumHeightRequest
kullanmanın MinimumWidthRequest
bir etkisi olmaz. Daha fazla bilgi için bkz Xamarin.Forms . Kılavuz.