Xamarin.Forms běžné vlastnosti, metody a události ovládacích prvků

Xamarin.FormsVisualElement Třída je základní třídou pro většinu ovládacích prvků používaných v Xamarin.Forms aplikaci. VisualElementTřída definuje mnoho VisualElement, metoda událostí , které se používají při odvozování tříd.

Vlastnosti

Následující vlastnosti jsou k dispozici pro VisualElement objekty.

Xamarin_Forms _VisualElement_AnchorX "data-LINKTYPE =" absolutní cestu ">AnchorX

AnchorXVlastnost je double hodnota, která definuje středový bod na ose X pro transformace, jako je například škálování a rotace. Výchozí hodnota je 0,5.

Xamarin_Forms _VisualElement_AnchorY "data-LINKTYPE =" absolutní cestu ">AnchorY

AnchorYVlastnost je double hodnota, která definuje středový bod na ose Y pro transformace, jako je například škálování a rotace. Výchozí hodnota je 0,5.

Background

BackgroundVlastnost je Brush hodnota, která umožňuje použít štětce jako pozadí v jakémkoli ovládacím prvku. Výchozí hodnota je Brush.Default.

Xamarin_Forms _VisualElement_BackgroundColor "data-LINKTYPE =" absolutní cestu ">BackgroundColor

BackgroundColorVlastnost je Color , která určuje barvu pozadí ovládacího prvku. Pokud se zruší nastavení, bude pozadí výchozím Color objektem, který se vykresluje jako transparentní.

Xamarin_Forms _VisualElement_Behaviors "data-LINKTYPE =" absolutní cestu ">Behaviors

BehaviorsVlastnost je typu objektu ListBehavior . Chování umožňují připojení opakovaně použitelných funkcí k prvkům tak, že je přidáte do Behaviors seznamu. Další informace o Behavior třídě naleznete v tématu Xamarin.Forms Behaviors .

Xamarin_Forms _VisualElement_Bounds "data-LINKTYPE =" absolutní cestu ">Bounds

BoundsVlastnost je objekt jen pro čtení Rectangle , který představuje místo obsazené ovládacím prvkem. BoundsHodnota vlastnosti je přiřazena během cyklu rozložení. Rectanglestruct Obsahuje užitečné vlastnosti a metody pro testování průniku a zahrnutí obdélníků. Další informace najdete v tématu Xamarin.Forms Rectangle API.

Clip

ClipVlastnost je Geometry objekt, který definuje obrys obsahu prvku. Chcete-li definovat klip, použijte Geometry objekt, například EllipseGeometry k nastavení Clip vlastnosti prvku. Zobrazí se pouze oblast, která je v oblasti geometrie. Další informace najdete v tématu klip s geometrií.

Xamarin_Forms _Element_Effects "data-LINKTYPE =" absolutní cestu ">Effects

EffectsVlastnost je typu objektu ListEffect , zděděno od Element třídy. Efekty umožňují přizpůsobit nativní ovládací prvky a obvykle se používají pro malé změny stylu. Další informace o Effect třídě naleznete v tématu Xamarin.Forms Effects .

Xamarin_Forms _VisualElement_FlowDirection "data-LINKTYPE =" absolutní cestu ">FlowDirection

FlowDirectionVlastnost je FlowDirection hodnota výčtu. Flow směr lze nastavit na MatchParent , LeftToRight nebo RightToLeft a určit pořadí a směr rozložení. Tato FlowDirection vlastnost se obvykle používá k podpoře jazyků, které čtou zprava doleva.

Xamarin_Forms _VisualElement_Height "data-LINKTYPE =" absolutní cestu ">Height

HeightVlastnost je hodnota jen pro čtení double , která popisuje vykreslenou výšku ovládacího prvku. HeightVlastnost je vypočítána během cyklu rozložení a nelze ji přímo nastavit. Výšku ovládacího prvku lze požadovat pomocí vlastnosti HeightRequest.

Xamarin_Forms _VisualElement_HeightRequest "data-LINKTYPE =" absolutní cestu ">HeightRequest

HeightRequestVlastnost je double hodnota, která určuje požadovanou výšku ovládacího prvku. Absolutní výška ovládacího prvku nesmí odpovídat požadované hodnotě. Další informace najdete v tématu vlastnosti žádosti.

Xamarin_Forms _VisualElement_InputTransparent "data-LINKTYPE =" absolutní cestu ">InputTransparent

InputTransparentVlastnost je bool , která určuje, zda ovládací prvek přijímá vstup uživatele. Výchozí hodnota je false , což zajistí, že prvek dostane vstup. Tato vlastnost přenáší na podřízené prvky, pokud je nastavena. Nastavení InputTransparent vlastnosti na true hodnotu u třídy rozložení způsobí, že všechny prvky v rozložení neobdrží vstup.

Xamarin_Forms _VisualElement_IsEnabled "data-LINKTYPE =" absolutní cestu ">IsEnabled

IsEnabledVlastnost 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 hodnotu false zabrání ovládacímu prvku v přijetí vstupu uživatele.

Xamarin_Forms _VisualElement_IsFocused "data-LINKTYPE =" absolutní cestu ">IsFocused

IsFocusedVlastnost je bool hodnota, která popisuje, zda je ovládací prvek aktuálně objektem fokus. Volání Focus metody v ovládacím prvku způsobí, že je IsFocused hodnota nastavena na true. Volání Unfocus metody nastaví tuto vlastnost na false.

Xamarin_Forms _VisualElement_IsTabStop "data-LINKTYPE =" absolutní cestu ">IsTabStop

IsTabStopVlastnost je bool hodnota, která určuje, zda ovládací prvek dostane fokus, když je uživatel posunut ovládacími prvky pomocí klávesy TAB. Pokud je tato vlastnost false, TabIndex nebude mít vlastnost žádný vliv.

Xamarin_Forms _VisualElement_IsVisible "data-LINKTYPE =" absolutní cestu ">IsVisible

IsVisibleVlastnost je bool hodnota, která určuje, zda je ovládací prvek vykreslen. Ovládací prvky s IsVisible vlastností nastavenou na hodnotu false nebudou zobrazeny, nebudou se brát v úvahu při výpočtu prostoru během cyklu rozložení a nemohou přijímat vstupy uživatele.

Xamarin_Forms _VisualElement_MinimumHeightRequest "data-LINKTYPE =" absolutní cestu ">MinimumHeightRequest

MinimumHeightRequestVlastnost je double hodnota, která určuje, jakým způsobem je přetečení zpracováno, když jsou dva prvky konkurenční pro omezené místo. Nastavení MinimumHeightRequest Vlastnosti umožňuje procesu rozložení škálovat prvek dolů na minimální požadovanou dimenzi. Pokud MinimumHeightRequest není zadán, výchozí hodnota je-1 a proces rozložení bude brát v úvahu HeightRequest minimální hodnotu. To znamená, že elementy bez MinimumHeightRequest hodnoty nebudou mít škálovatelnou výšku.

Další informace najdete v tématu vlastnosti minimální žádosti.

Xamarin_Forms _VisualElement_MinimumWidthRequest "data-LINKTYPE =" absolutní cestu ">MinimumWidthRequest

MinimumWidthRequestVlastnost je double hodnota, která určuje, jakým způsobem je přetečení zpracováno, když jsou dva prvky konkurenční pro omezené místo. Nastavení MinimumWidthRequest Vlastnosti umožňuje procesu rozložení škálovat prvek dolů na minimální požadovanou dimenzi. Pokud MinimumWidthRequest není zadán, výchozí hodnota je-1 a proces rozložení bude brát v úvahu WidthRequest minimální hodnotu. To znamená, že elementy bez MinimumWidthRequest hodnoty nebudou mít škálovatelnou šířku.

Další informace najdete v tématu vlastnosti minimální žádosti.

Xamarin_Forms _VisualElement_Opacity "data-LINKTYPE =" absolutní cestu ">Opacity

OpacityVlastnost 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 svorky. OpacityVlastnost je použita pouze v případě, že IsVisible vlastnost je true . Neprůhlednost se aplikuje iterativním. Proto pokud nadřazený ovládací prvek má hodnotu 0,5 a jeho podřízená hodnota je 0,5 neprůhlednost, podřízená položka bude vykreslena s platnou hodnotou neprůhlednosti 0,25. Nastavení Opacity vlastnosti vstupního ovládacího prvku na hodnotu 0 má nedefinované chování.

Xamarin_Forms _Element_Parent "data-LINKTYPE =" absolutní cestu ">Parent

ParentVlastnost je zděděna z Element třídy. Tato vlastnost je Element objekt, který je nadřazeným prvkem ovládacího prvku. ParentVlastnost je obvykle nastavena automaticky u prvku, když je přidán jako podřízený objekt jiného prvku.

Xamarin_Forms _VisualElement_Resources "data-LINKTYPE =" absolutní cestu ">Resources

ResourcesVlastnost je ResourceDictionary instance, která je naplněna páry klíč/hodnota, které jsou obvykle vyplněny za běhu z XAML. Tento slovník umožňuje vývojářům aplikací znovu použít objekty definované v jazyce XAML v době kompilace i v době běhu. Klíče ve slovníku jsou vyplněny z x:Key atributu značky XAML. Objekt vytvořený z XAML je vložen do ResourceDictionary pro zadaný klíč. Po inicializaci.

Další informace najdete v tématu slovníky prostředků.

Xamarin_Forms _VisualElement_Rotation "data-LINKTYPE =" absolutní cestu ">Rotation

RotationVlastnost je double hodnota mezi 0 a 360 definující otočení osy Z ve stupních. Výchozí hodnota této vlastnosti je 0. Otočení se použije vzhledem k AnchorX hodnotám AnchorY a .

Xamarin_Forms _VisualElement_RotationX" data-linktype="absolute-path">RotationX

Vlastnost RotationX je hodnota mezi nulou a 360, která definuje otočení o ose double X ve stupních. Výchozí hodnota této vlastnosti je 0. Otočení se použije vzhledem k AnchorX hodnotám AnchorY a .

Xamarin_Forms _VisualElement_RotationY" data-linktype="absolute-path">RotationY

Vlastnost je hodnota mezi nulou a 360, která definuje otočení o RotationYdouble ose Y ve stupních. Výchozí hodnota této vlastnosti je 0. Otočení se použije vzhledem k AnchorX hodnotám AnchorY a .

Xamarin_Forms _VisualElement_Scale" data-linktype="absolute-path">Scale

Vlastnost Scale je double hodnota, která definuje měřítko ovládacího prvku. Výchozí hodnota této vlastnosti je 1.0. Škálování se použije vzhledem k AnchorX hodnotám AnchorY a .

Xamarin_Forms _VisualElement_ScaleX" data-linktype="absolute-path">ScaleX

Vlastnost ScaleX je double hodnota, která definuje měřítko ovládacího prvku na ose X. Výchozí hodnota této vlastnosti je 1.0. Vlastnost ScaleX se použije vzhledem k AnchorX hodnotě.

Xamarin_Forms _VisualElement_ScaleY" data-linktype="absolute-path">ScaleY

Vlastnost ScaleY je double hodnota, která definuje měřítko ovládacího prvku na ose Y. Výchozí hodnota této vlastnosti je 1.0. Vlastnost ScaleY se použije vzhledem k AnchorY hodnotě.

Xamarin_Forms _NavigableElement_Style" data-linktype="absolute-path">Style

Vlastnost Style je zděděna z NavigableElement třídy . Tato vlastnost je instancí Style třídy . Třída obsahuje aktivační události, sestupy a chování, které definují Style vzhled a chování vizuálních prvků. Další informace naleznete v tématu Xamarin.Forms XAML Styles.

Xamarin_Forms _NavigableElement_StyleClass" data-linktype="absolute-path">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 . Vlastnost StyleClass umožňuje použití více atributů stylu na VisualElement instanci. Další informace naleznete v tématu Xamarin.Forms Style Classes.

Xamarin_Forms _VisualElement_TabIndex" data-linktype="absolute-path">TabIndex

Vlastnost je hodnota, která definuje pořadí ovládacích prvků při postupování prostřednictvím ovládacích TabIndexint prvků pomocí klávesy Tab. Vlastnost TabIndex je implementace vlastnosti definované v rozhraní , kterou třída ITabStopElementVisualElement implementuje.

Xamarin_Forms _VisualElement_TranslationX" data-linktype="absolute-path">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á zabraňte tomu, aby vstupy pracovaly.

Další informace naleznete v tématu Animation in Xamarin.Forms.

Xamarin_Forms _VisualElement_TranslationY" data-linktype="absolute-path">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á zabraňte tomu, aby vstupy pracovaly.

Další informace naleznete v tématu Animation in Xamarin.Forms.

Xamarin_Forms _VisualElement_Triggers" data-linktype="absolute-path">Triggers

Vlastnost Triggers je objekty jen pro ListTriggerBase čtení. Triggery umožňují vývojářům aplikací vyjádřit akce v jazyce XAML, které mění vzhled ovládacích prvků v reakci na změny událostí nebo vlastností. Další informace naleznete v tématu Xamarin.Forms Triggers.

Xamarin_Forms _VisualElement_Visual" data-linktype="absolute-path">Visual

Vlastnost Visual je IVisual instance, která umožňuje vytváření rendererů a selektivní použití na VisualElement instance. Vlastnost je nastavená tak, aby odpovídala nadřazené vlastnosti, takže definování rendereru u komponenty se bude vztahovat také na všechny podřízené Visual objekty této komponenty. Pokud u ovládacího prvku nebo jeho předchůdců není nastavený žádný vlastní renderer, použije se Xamarin.Forms výchozí renderer. Další informace naleznete v tématu Xamarin.Forms Visual.

Xamarin_Forms _VisualElement_Width" data-linktype="absolute-path">Width

Vlastnost Width je hodnota jen pro double čtení, která popisuje vykreslenou šířku ovládacího prvku. Vlastnost se počítá během cyklu rozložení a Width nelze ji nastavit přímo. Šířku ovládacího prvku lze vyžádat pomocí vlastnosti WidthRequest.

Xamarin_Forms _VisualElement_WidthRequest" data-linktype="absolute-path">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 najdete v tématu Vlastnosti požadavku.

Xamarin_Forms _VisualElement_X" data-linktype="absolute-path">X

Vlastnost X je hodnota jen pro double čtení, která popisuje aktuální pozici X ovládacího prvku.

Xamarin_Forms _VisualElement_Y" data-linktype="absolute-path">Y

Vlastnost je hodnota jen pro čtení, která popisuje aktuální pozici Ydouble Y ovládacího prvku.

Metody

Ve třídě jsou k dispozici následující VisualElement metody. Ú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á zadaný argument ve všech podřízených prvcích a vrátí name element se zadaným názvem. Pokud se žádná shoda nenašla, null vrátí se .

Xamarin_Forms _VisualElement_Focus" data-linktype="absolute-path">Focus

Metoda Focus se pokusí nastavit fokus na elementu. Tato metoda má následující podpis:

public bool Focus ()

Metoda vrátí hodnotu , pokud bylo fokus klávesnice úspěšně nastaveno a pokud volání metody Focustruefalse nevedlo ke změně fokusu. Aby tato metoda fungovala, musí být prvek schopný získat fokus. Volání metody Focus u prvků, které jsou mimo obrazovku nebo jsou nerealizované, má nedefinované chování.

Xamarin_Forms _VisualElement_Unfocus" data-linktype="absolute-path">Unfocus

Metoda Unfocus se pokusí odebrat fokus na elementu. Tato metoda má následující podpis:

public void Unfocus ()

Element už musí mít fokus, aby tato metoda fungovala.

Události

Ve třídě jsou k dispozici následující VisualElement události. Úplný seznam najdete v tématu Xamarin.Forms VisualElement Events .

Focused

Událost Focused je vyvolána vždy, když VisualElement instance obdrží fokus. Tato událost není produlá Xamarin.Forms zásobníkem, je přijata přímo z nativního ovládacího prvku. Tuto událost vysílá IsFocused setter vlastnosti .

SizeChanged

Událost SizeChanged se vyvolala při každé VisualElement změně instance nebo HeightWidth vlastností. Pokud vývojáři chtějí na změnu velikosti reagovat přímo, místo aby reagovali na událost po změně, měli by místo toho implementovat OnSizeAllocated virtuální metodu.

Unfocused

Událost Unfocused je vyvolána vždy, VisualElement když instance ztratí fokus. Tato událost není produlá Xamarin.Forms zásobníkem, je přijata přímo z nativního ovládacího prvku. Tuto událost vysílá IsFocused setter 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á měrnou jednotku nezávislou na platformě, která normalizuje jednotky napříč zařízeními a platformami. V se nachází 160 jednotek na palec nebo 64 jednotek na Xamarin.Forms centimetr.

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 nastaveno na 150, ale pokud rozložení umožňuje jen prostor pro 100 jednotek, vykreslení ovládacího prvku bude pouze HeightRequestHeight 100. Velikost vykreslení je ovlivněna dostupným prostorem a obsaženými komponentami.

Vlastnosti minimální žádosti

Minimální vlastnosti žádosti zahrnují MinimumHeightRequest a a MinimumWidthRequest jsou určeny k zajištění přesnější kontroly nad tím, jak se prvky přetečení vzájemně přecházejí. Chování rozložení související s těmito vlastnostmi ale má několik důležitých aspektů.

Nespecifikované minimální hodnoty vlastností

Pokud není nastavena minimální hodnota, výchozí hodnota vlastnosti je-1. Proces rozložení ignoruje tuto hodnotu a považuje absolutní hodnotu za minimální. Praktické v tomto chování je, že element bez určené minimální hodnoty nebude zmenšen . Element s minimální zadanou hodnotou se zmenší.

Následující kód XAML ukazuje dva BoxView prvky ve vodorovném směru StackLayout :

<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 neurčuje minimální šířku. Druhá BoxView instance požaduje šířku 500 a minimální šířku 250. Pokud nadřazený StackLayout prvek není dostatečně velký, aby mohl obsahovat obě komponenty na požadovanou šířku, BoxView bude první instance považována za to, že proces rozložení bude mít minimální šířku 500, protože žádné jiné platné minimum není zadáno. Druhá BoxView instance je povolena pro horizontální navýšení kapacity na 250 a velikost se zmenší tak, aby odpovídala šířce 250 jednotek.

Pokud je požadované chování pro první instanci pro horizontální navýšení BoxView kapacity bez minimální šířky, MinimumWidthRequest musí být nastavená 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 nastaveno na 100, MinimumWidthRequest vlastnost by neměla překročit 100. Při zadání minimální hodnoty vlastnosti byste měli vždy zadat absolutní hodnotu, abyste zajistili, že absolutní hodnota je větší než minimální hodnota.

Minimální vlastnosti v mřížce

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 žádný efekt. Další informace naleznete v tématu Xamarin.Forms Grid.