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 ListBehavior . 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 Rectanglestruct 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 ListEffect 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, LeftToRightnebo 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 truevlastnost . 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 ListTriggerBase 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álost

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 MinimumWidthRequestjsou 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 StackLayoutzobrazení:

<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.