Xamarin.Forms běžné vlastnosti ovládacích prvků, metody a události
Třída Xamarin.FormsVisualElement
je základní třídou pro většinu ovládacích prvků používaných v Xamarin.Forms aplikaci. Třída VisualElement
definuje mnoho vlastností, metod a událostí , které se používají v odvozených třídách.
Vlastnosti
Pro objekty jsou k dispozici VisualElement
následující vlastnosti.
AnchorX
Vlastnost AnchorX
je double
hodnota, která definuje středový bod na ose X pro transformace, jako je měřítko a otočení. Výchozí hodnota je 0,5.
AnchorY
Vlastnost AnchorY
je double
hodnota, která definuje středový bod na ose Y pro transformace, jako je měřítko a otočení. Výchozí hodnota je 0,5.
Background
Vlastnost Background
je Brush
hodnota, která umožňuje použití štětců jako pozadí v libovolném ovládacím prvku. Výchozí hodnota je Brush.Default
.
BackgroundColor
Vlastnost BackgroundColor
je Color
, která určuje barvu pozadí ovládacího prvku. Pokud není nastaveno, pozadí bude výchozím Color
objektem, který se vykreslí jako průhledný.
Behaviors
Vlastnost Behaviors
je objekty List
Behavior
. Chování umožňuje připojit opakovaně použitelné funkce k prvkům jejich přidáním do Behaviors
seznamu. Další informace o Behavior
třídě naleznete v tématu Xamarin.Forms Chování.
Bounds
Vlastnost Bounds
je objekt jen Rectangle
pro čtení, který představuje prostor obsazený ovládacím prvku. Hodnota Bounds
vlastnosti je přiřazena během cyklu rozložení. Obsahuje Rectangle
struct
užitečné vlastnosti a metody pro testování průniku a zahrnutí obdélníků. Další informace najdete v rozhraní API obdélníku.Xamarin.Forms
Clip
Vlastnost Clip
je Geometry
objekt, který definuje osnovu obsahu elementu. Chcete-li definovat klip, použijte Geometry
objekt, například EllipseGeometry
k nastavení vlastnosti elementu Clip
. Zobrazí se pouze oblast, která je v oblasti geometrie. Další informace najdete v tématu Klipování s geometrií.
Effects
Vlastnost Effects
je List
Effect
objekty zděděné z Element
třídy. Efekty umožňují přizpůsobení nativních ovládacích prvků a obvykle se používají pro malé změny stylů. Další informace o Effect
třídě naleznete v tématu Xamarin.Forms Efekty.
FlowDirection
Vlastnost FlowDirection
je výčtová FlowDirection
hodnota. Směr toku lze nastavit na MatchParent
, LeftToRight
nebo RightToLeft
a určuje pořadí a směr rozložení. Vlastnost FlowDirection
se obvykle používá k podpoře jazyků, které čtou zprava doleva.
Height
Vlastnost Height
je hodnota jen double
pro čtení, která popisuje vykreslenou výšku ovládacího prvku. Vlastnost Height
se vypočítá během cyklu rozložení a nedá se nastavit přímo. Výšku ovládacího prvku lze vyžádat pomocí vlastnosti HeightRequest.
HeightRequest
Vlastnost HeightRequest
je double
hodnota, která určuje požadovanou výšku ovládacího prvku. Absolutní výška ovládacího prvku nemusí odpovídat požadované hodnotě. Další informace naleznete v tématu Vlastnosti požadavku.
InputTransparent
Vlastnost InputTransparent
je bool
, která určuje, zda ovládací prvek přijímá uživatelský vstup. Výchozí hodnota je false
, zajišťuje, že prvek přijímá vstup. Tato vlastnost se při nastavení přenese na podřízené prvky. InputTransparent
Nastavení vlastnosti true
na třídu rozložení způsobí, že všechny prvky v rozložení nepřijímají vstup.
IsEnabled
Vlastnost IsEnabled
je bool
hodnota, která určuje, zda ovládací prvek reaguje na vstup uživatele. Výchozí hodnota je true
. Nastavení této vlastnosti na false zabrání ovládacímu prvku přijmout uživatelský vstup.
IsFocused
Vlastnost IsFocused
je bool
hodnota, která popisuje, zda je ovládací prvek aktuálně prioritní objekt. Focus
Volání metody na ovládacím prvku způsobí, IsFocused
že hodnota je nastavena na hodnotu true. Unfocus
Volání metody nastaví tuto vlastnost na false.
IsTabStop
Vlastnost IsTabStop
je bool
hodnota, která definuje, zda ovládací prvek obdrží fokus, když uživatel prochází ovládacími prvky pomocí klávesy Tab. Pokud je tato vlastnost false, TabIndex
vlastnost nebude mít žádný vliv.
IsVisible
Vlastnost IsVisible
je bool
hodnota, která určuje, zda je ovládací prvek vykreslen. Ovládací prvky s vlastností nastavenou IsVisible
na false se nezobrazí, nebudou při výpočtech mezer během cyklu rozložení považovány za výpočty mezer a nemůžou přijmout uživatelský vstup.
MinimumHeightRequest
Vlastnost MinimumHeightRequest
je double
hodnota, která určuje, jak je přetečení zpracováno, když dva prvky soupeří o omezený prostor. MinimumHeightRequest
Nastavení vlastnosti umožňuje procesu rozložení škálovat prvek dolů na minimální požadovanou dimenzi. Pokud není zadána žádná MinimumHeightRequest
hodnota, výchozí hodnota je -1 a proces rozložení bude považovat HeightRequest
za minimální hodnotu. To znamená, že prvky bez MinimumHeightRequest
hodnoty nebudou mít škálovatelnou výšku.
Další informace naleznete v tématu Minimální vlastnosti požadavku.
MinimumWidthRequest
Vlastnost MinimumWidthRequest
je double
hodnota, která určuje, jak je přetečení zpracováno, když dva prvky soupeří o omezený prostor. MinimumWidthRequest
Nastavení vlastnosti umožňuje procesu rozložení škálovat prvek dolů na minimální požadovanou dimenzi. Pokud není zadána žádná MinimumWidthRequest
hodnota, výchozí hodnota je -1 a proces rozložení bude považovat WidthRequest
za minimální hodnotu. To znamená, že prvky bez MinimumWidthRequest
hodnoty nebudou mít škálovatelnou šířku.
Další informace naleznete v tématu Minimální vlastnosti požadavku.
Opacity
Vlastnost Opacity
je double
hodnota od nuly do jedné, která určuje neprůhlednost ovládacího prvku během vykreslování. Výchozí hodnota této vlastnosti je 1,0. Hodnoty mimo rozsah od 0 do 1 budou upínací. Vlastnost Opacity
se použije pouze v případě, že IsVisible
je true
vlastnost . Neprůhlednost se používá iterativním způsobem. Proto pokud nadřazený ovládací prvek má 0,5 neprůhlednost a jeho podřízený prvek má neprůhlednost 0,5, podřízená hodnota se vykreslí s efektivní hodnotou 0,25 neprůhlednosti. Opacity
Nastavení vlastnosti vstupního ovládacího prvku na hodnotu 0 má nedefinované chování.
Parent
Vlastnost Parent
je zděděna z Element
třídy. Tato vlastnost je Element
objekt, který je nadřazeným objektem ovládacího prvku. Vlastnost Parent
je obvykle nastavena automaticky u elementu, když je přidána jako podřízený prvek jiného prvku.
Resources
Vlastnost Resources
je ResourceDictionary
instance, která je naplněna páry klíč/hodnota, které jsou obvykle naplněny za běhu z XAML. Tento slovník umožňuje vývojářům aplikací opakovaně používat objekty definované v jazyce XAML v době kompilace i v době běhu. Klíče ve slovníku se vyplní z x:Key
atributu značky XAML. Objekt vytvořený z XAML se vloží do ResourceDictionary
zadaného klíče. po inicializaci.
Další informace najdete v tématu Slovníky zdrojů.
Rotation
Vlastnost Rotation
je hodnota mezi nulou double
a 360, která definuje otočení o ose Z ve stupních. Výchozí hodnota této vlastnosti je 0. Otočení se použije vzhledem k hodnotám a AnchorY
hodnotámAnchorX
.
RotationX
Vlastnost RotationX
je hodnota mezi nulou double
a 360, která definuje otočení o ose X ve stupních. Výchozí hodnota této vlastnosti je 0. Otočení se použije vzhledem k hodnotám a AnchorY
hodnotámAnchorX
.
RotationY
Vlastnost RotationY
je hodnota mezi nulou double
a 360, která definuje otočení o ose Y ve stupních. Výchozí hodnota této vlastnosti je 0. Otočení se použije vzhledem k hodnotám a AnchorY
hodnotámAnchorX
.
Scale
Vlastnost Scale
je double
hodnota, která definuje měřítko ovládacího prvku. Výchozí hodnota této vlastnosti je 1,0. Měřítko se použije vzhledem k hodnotám a AnchorY
hodnotámAnchorX
.
ScaleX
Vlastnost ScaleX
je double
hodnota, která definuje měřítko ovládacího prvku podél osy X. Výchozí hodnota této vlastnosti je 1,0. Vlastnost ScaleX
se použije vzhledem k hodnotě AnchorX
.
ScaleY
Vlastnost ScaleY
je double
hodnota, která definuje měřítko ovládacího prvku podél osy Y. Výchozí hodnota této vlastnosti je 1,0. Vlastnost ScaleY
se použije vzhledem k hodnotě AnchorY
.
Style
Vlastnost Style
je zděděna z NavigableElement
třídy. Tato vlastnost je instance Style
třídy. Třída Style
obsahuje triggery, settery a chování, které definují vzhled a chování vizuálních prvků. Další informace najdete v tématu Xamarin.Forms Styly XAML.
StyleClass
Vlastnost StyleClass
je seznam string
objektů, které představují názvy Style
tříd. Tato vlastnost je zděděna z NavigableElement
třídy. Tato StyleClass
vlastnost umožňuje použití více atributů stylu na VisualElement
instanci. Další informace naleznete v tématu Xamarin.Forms Třídy stylů.
TabIndex
Vlastnost TabIndex
je int
hodnota, která definuje pořadí řízení při procházení ovládacích prvků pomocí klávesy Tab. Vlastnost TabIndex
je implementace vlastnosti definované v ITabStopElement
rozhraní, které VisualElement
třída implementuje.
TranslationX
Vlastnost TranslationX
je double
hodnota, která definuje rozdílový překlad, který se má použít na ose X. Překlad se použije po rozložení a obvykle se používá pro použití animací. Překlad elementu mimo hranice nadřazeného kontejneru může zabránit tomu, aby vstupy fungovaly.
Další informace naleznete v tématu Animace v Xamarin.Forms.
TranslationY
Vlastnost TranslationY
je double
hodnota, která definuje rozdílový překlad, který se má použít na ose Y. Překlad se použije po rozložení a obvykle se používá pro použití animací. Překlad elementu mimo hranice nadřazeného kontejneru může zabránit tomu, aby vstupy fungovaly.
Další informace naleznete v tématu Animace v Xamarin.Forms.
Triggers
Vlastnost Triggers
je jen List
TriggerBase
pro čtení objektů. Triggery umožňují vývojářům aplikací vyjádřit akce v XAML, které mění vizuální vzhled ovládacích prvků v reakci na události nebo změny vlastností. Další informace najdete v tématu Xamarin.Forms Triggery.
Visual
Vlastnost Visual
je IVisual
instance, která umožňuje, aby renderery byly vytvořeny a selektivně použity na VisualElement
instance. Vlastnost Visual
je nastavena tak, aby odpovídala jeho nadřazenosti, takže definování rendereru na komponentě bude platit také pro všechny podřízené položky této komponenty. Pokud není na ovládacím prvku nebo jeho nadřazených objektech nastaven žádný vlastní renderer, použije se výchozí Xamarin.Forms renderer. Další informace najdete v tématu Xamarin.Forms Vizuál.
Width
Vlastnost Width
je hodnota jen double
pro čtení, která popisuje vykreslenou šířku ovládacího prvku. Vlastnost Width
se vypočítá během cyklu rozložení a nedá se nastavit přímo. Šířku ovládacího prvku lze požadovat pomocí vlastnosti WidthRequest.
WidthRequest
Vlastnost WidthRequest
je double
hodnota, která určuje požadovanou šířku ovládacího prvku. Absolutní šířka ovládacího prvku nemusí odpovídat požadované hodnotě. Další informace naleznete v tématu Vlastnosti požadavku.
X
Vlastnost X
je hodnota jen double
pro čtení, která popisuje aktuální pozici X ovládacího prvku.
Y
Vlastnost Y
je hodnota určená jen double
pro čtení, která popisuje aktuální pozici Y ovládacího prvku.
Metody
Následující metody jsou k dispozici ve VisualElement
třídě. Úplný seznam najdete v tématu Metody rozhraní API pro VisualElement.
FindByName
Metoda FindByName
je zděděna z Element
třídy a má následující podpis:
public object FindByName (string name)
Tato metoda vyhledá všechny podřízené prvky pro zadaný name
argument a vrátí prvek, který má zadaný název. Pokud se nenajde žádná shoda, null
vrátí se.
Focus
Metoda Focus
se pokusí nastavit fokus na element. Tato metoda má následující podpis:
public bool Focus ()
Metoda Focus
vrátí, true
pokud byl fokus klávesnice úspěšně nastaven a false
pokud volání metody nezpůsobilo změnu fokusu. Aby tato metoda fungovala, musí být prvek schopen získat fokus. Focus
Volání metody na elementy, které jsou mimo obrazovku nebo unrealized má nedefinované chování.
Unfocus
Metoda Unfocus
se pokusí odebrat fokus na prvek. Tato metoda má následující podpis:
public void Unfocus ()
Aby tato metoda fungovala, musí již mít prvek fokus.
Události
Ve třídě jsou k dispozici VisualElement
následující události. Úplný seznam naleznete v tématu Xamarin.Forms VisualElement Events.
Focused
Událost Focused
se vyvolá vždy, VisualElement
když instance obdrží fokus. Tato událost není v zásobníku Xamarin.Forms bublinová, přijímá se přímo z nativního ovládacího prvku. Tuto událost vygeneruje setter IsFocused
vlastnosti.
SizeChanged
Událost SizeChanged
je vyvolána při každé VisualElement
změně instance Height
nebo Width
vlastností. Pokud vývojáři chtějí reagovat přímo na změnu velikosti místo reakce na událost po změně, měli by místo toho implementovat virtuální metodu OnSizeAllocated
.
Unfocused
Událost Unfocused
se vyvolá vždy, VisualElement
když instance ztratí fokus. Tato událost není v zásobníku Xamarin.Forms bublinová, přijímá se přímo z nativního ovládacího prvku. Tuto událost vygeneruje setter IsFocused
vlastnosti.
Měrné jednotky
Platformy Android, iOS a UPW mají různé měrné jednotky, které se můžou v různých zařízeních lišit. Xamarin.Forms používá jednotku měření nezávislou na platformě, která normalizuje jednotky napříč zařízeními a platformami. K dispozici je 160 jednotek na paleč nebo 64 jednotek na centimetr, v Xamarin.Forms.
Vlastnosti požadavku
Vlastnosti, jejichž názvy obsahují "požadavek" definují požadovanou hodnotu, která nemusí odpovídat skutečné vykreslené hodnotě. Například může být nastavena na 150, HeightRequest
ale pokud rozložení umožňuje pouze prostor pro 100 jednotek, vykreslení Height
ovládacího prvku bude pouze 100. Vykreslená velikost je ovlivněna dostupným místem a obsaženými komponentami.
Minimální vlastnosti požadavku
Minimální vlastnosti požadavku zahrnují MinimumHeightRequest
a MinimumWidthRequest
jsou určeny k povolení přesnější kontroly nad tím, jak prvky zpracovávají přetečení vzhledem k sobě navzájem. Chování rozložení související s těmito vlastnostmi ale má několik důležitých aspektů.
Nezadané minimální hodnoty vlastností
Pokud není nastavena minimální hodnota, minimální hodnota vlastnosti je výchozí hodnota -1. Proces rozložení tuto hodnotu ignoruje a považuje absolutní hodnotu za minimální. Praktickým důsledkem tohoto chování je, že prvek bez zadané minimální hodnoty se nezmenší . Prvek se zadanou minimální hodnotou se zmenší.
Následující XAML zobrazuje dva BoxView
prvky ve vodorovném StackLayout
zobrazení:
<StackLayout Orientation="Horizontal">
<BoxView HeightRequest="100" BackgroundColor="Purple" WidthRequest="500"></BoxView>
<BoxView HeightRequest="100" BackgroundColor="Green" WidthRequest="500" MinimumWidthRequest="250"></BoxView>
</StackLayout>
První BoxView
instance požaduje šířku 500 a nezadá minimální šířku. BoxView
Druhá instance požaduje šířku 500 a minimální šířku 250. Pokud nadřazený StackLayout
prvek není dostatečně široký tak, aby obsahoval obě komponenty na požadované šířce, bude první BoxView
instance považována procesem rozložení, aby měl minimální šířku 500, protože není zadán žádný jiný platný minimum. Druhá BoxView
instance může vertikálně snížit kapacitu na 250 a zmenší se tak, aby se vešla do 250 jednotek.
Pokud je požadované chování pro první BoxView
instanci vertikální snížení kapacity bez minimální šířky, MinimumWidthRequest
musí být nastaveno na platnou hodnotu, například 0.
Minimální a absolutní hodnoty vlastností
Chování není definováno, pokud je minimální hodnota větší než absolutní hodnota. Pokud WidthRequest
je například nastavena na 100, MinimumWidthRequest
vlastnost by nikdy neměla překročit 100. Při zadávání minimální hodnoty vlastnosti byste měli vždy zadat absolutní hodnotu, aby byla absolutní hodnota větší než minimální hodnota.
Minimální vlastnosti v rámci mřížky
Grid
rozložení mají vlastní systém pro relativní změnu velikosti řádků a sloupců. Použití MinimumWidthRequest
nebo MinimumHeightRequest
v rámci Grid
rozložení nebude mít vliv. Další informace najdete v tématu Xamarin.Forms Grid.