Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Klasa Xamarin.FormsVisualElement jest klasą bazową dla większości kontrolek używanych w Xamarin.Forms aplikacji. Klasa VisualElement definiuje wiele właściwości, metod i zdarzeń używanych w klasach pochodnych.
Właściwości
Następujące właściwości są dostępne w VisualElement obiektach.
AnchorX
Właściwość AnchorX jest wartością double , która definiuje punkt środkowy na osi X dla przekształceń, takich jak skala i obrót. Wartość domyślna to 0,5.
AnchorY
Właściwość AnchorY jest wartością double , która definiuje punkt środkowy na osi Y dla przekształceń, takich jak skala i obrót. Wartość domyślna to 0,5.
Background
Właściwość Background jest wartością Brush , która umożliwia korzystanie z pędzli jako tła w dowolnej kontrolce. Domyślna wartość to Brush.Default.
BackgroundColor
Właściwość BackgroundColor jest właściwością Color , która określa kolor tła kontrolki. Jeśli nie zostanie ustawiona, tło będzie domyślnym obiektem Color , który jest renderowany jako przezroczysty.
Behaviors
Właściwość Behaviors jest obiektem List Behavior . Zachowania umożliwiają dołączanie funkcji wielokrotnego użytku do elementów przez dodanie ich do Behaviors listy. Aby uzyskać więcej informacji na temat Behavior klasy, zobacz Xamarin.Forms Zachowania.
Bounds
Właściwość Bounds jest obiektem tylko Rectangle do odczytu, który reprezentuje miejsce zajmowane przez kontrolkę. Wartość właściwości jest przypisywana Bounds podczas cyklu układu. Zawiera Rectangle struct przydatne właściwości i metody testowania przecięcia i zawierania prostokątów. Aby uzyskać więcej informacji, zobacz interfejs API prostokąta.Xamarin.Forms
Clip
Właściwość Clip jest obiektem Geometry , który definiuje konspekt zawartości elementu. Aby zdefiniować klip, użyj Geometry obiektu, takiego jak EllipseGeometry , aby ustawić właściwość elementu Clip . Widoczne będą tylko obszary znajdujące się w obrębie regionu geometrii. Aby uzyskać więcej informacji, zobacz Clip with a Geometry (Tworzenie wycinków za pomocą geometrii).
Effects
Właściwość Effects jest obiektem List Effect dziedziczonego Element z klasy . Efekty umożliwiają dostosowywanie kontrolek natywnych i są zwykle używane do drobnych zmian stylów. Aby uzyskać więcej informacji na temat Effect klasy, zobacz Xamarin.Forms Efekty.
FlowDirection
Właściwość FlowDirection jest wartością wyliczeniową FlowDirection . Kierunek przepływu można ustawić na MatchParent, LeftToRightlub RightToLeft i określa kolejność i kierunek układu. Właściwość FlowDirection jest zwykle używana do obsługi języków odczytywanych od prawej do lewej.
Height
Właściwość Height jest wartością tylko double do odczytu, która opisuje renderowaną wysokość kontrolki. Właściwość Height jest obliczana podczas cyklu układu i nie można jej ustawić bezpośrednio. Wysokość kontrolki można zażądać przy użyciu właściwości HeightRequest.
HeightRequest
Właściwość HeightRequest jest wartością double , która określa żądaną wysokość kontrolki. Bezwzględna wysokość kontrolki może być niezgodna z żądaną wartością. Aby uzyskać więcej informacji, zobacz Request properties (Właściwości żądania).
InputTransparent
Właściwość InputTransparent jest właściwością określającą bool , czy kontrolka odbiera dane wejściowe użytkownika. Wartość domyślna to false, zapewniając, że element odbiera dane wejściowe. Ta właściwość jest przekazywana do elementów podrzędnych po jej ustawieniu. InputTransparent Ustawienie właściwości na true wartość w klasie układu spowoduje, że wszystkie elementy w układzie nie odbierają danych wejściowych.
IsEnabled
Właściwość IsEnabled jest wartością bool , która określa, czy kontrolka reaguje na dane wejściowe użytkownika. Domyślna wartość to true. Ustawienie tej właściwości na false uniemożliwi kontrolce akceptowanie danych wejściowych użytkownika.
IsFocused
Właściwość IsFocused jest wartością opisającą, czy kontrolka jest obecnie obiektem bool ukierunkowanym. Focus Wywołanie metody w kontrolce spowoduje IsFocused ustawienie wartości true. Unfocus Wywołanie metody spowoduje ustawienie tej właściwości na wartość false.
IsTabStop
Właściwość IsTabStop jest wartością bool , która określa, czy kontrolka odbiera fokus, gdy użytkownik przechodzi przez kontrolki za pomocą tabulacji. Jeśli ta właściwość ma wartość false, TabIndex właściwość nie będzie miała żadnego wpływu.
IsVisible
Właściwość IsVisible jest wartością bool , która określa, czy kontrolka jest renderowana. Kontrolki z właściwością ustawioną IsVisible na false nie będą wyświetlane, nie będą brane pod uwagę w obliczeniach przestrzeni podczas cyklu układu i nie mogą akceptować danych wejściowych użytkownika.
MinimumHeightRequest
Właściwość MinimumHeightRequest jest wartością double , która określa sposób obsługi przepełnienia, gdy dwa elementy konkurują o ograniczoną ilość miejsca. MinimumHeightRequest Ustawienie właściwości umożliwia procesowi układu skalowanie elementu w dół do żądanego wymiaru minimalnego. Jeśli nie MinimumHeightRequest zostanie określony, wartość domyślna to -1, a proces układu będzie uwzględniał HeightRequest wartość minimalną. Oznacza to, że elementy bez MinimumHeightRequest wartości nie będą miały skalowalnej wysokości.
Aby uzyskać więcej informacji, zobacz Minimalne właściwości żądania.
MinimumWidthRequest
Właściwość MinimumWidthRequest jest wartością double , która określa sposób obsługi przepełnienia, gdy dwa elementy konkurują o ograniczoną ilość miejsca. MinimumWidthRequest Ustawienie właściwości umożliwia procesowi układu skalowanie elementu w dół do żądanego wymiaru minimalnego. Jeśli nie MinimumWidthRequest zostanie określony, wartość domyślna to -1, a proces układu będzie uwzględniał WidthRequest wartość minimalną. Oznacza to, że elementy bez MinimumWidthRequest wartości nie będą miały skalowalnej szerokości.
Aby uzyskać więcej informacji, zobacz Minimalne właściwości żądania.
Opacity
Właściwość Opacity jest wartością double od zera do jednej, która określa nieprzezroczystość kontrolki podczas renderowania. Wartość domyślna dla tej właściwości to 1.0. Wartości poza zakresem od 0 do 1 zostaną zaciśnięte. Właściwość Opacity jest stosowana tylko wtedy, gdy IsVisible właściwość to true. Nieprzezroczystość jest stosowana iteracyjnie. Dlatego jeśli kontrolka nadrzędna ma nieprzezroczystość 0,5, a jej element podrzędny ma nieprzezroczystość 0,5, element podrzędny będzie renderowany z efektywną wartością nieprzezroczystości 0,25. Opacity Ustawienie właściwości kontrolki wejściowej na 0 ma niezdefiniowane zachowanie.
Parent
Właściwość Parent jest dziedziczona z Element klasy . Ta właściwość jest obiektem Element nadrzędnym kontrolki. Właściwość Parent jest zwykle ustawiana automatycznie dla elementu, gdy jest dodawana jako element podrzędny innego elementu.
Resources
Właściwość Resources jest wystąpieniem wypełnionym ResourceDictionary parami klucz/wartość, które są zwykle wypełniane w czasie wykonywania z języka XAML. Ten słownik umożliwia deweloperom aplikacji ponowne używanie obiektów zdefiniowanych w języku XAML zarówno w czasie kompilacji, jak i w czasie wykonywania. Klucze w słowniku są wypełniane z x:Key atrybutu tagu XAML. Obiekt utworzony na podstawie kodu XAML jest wstawiany do ResourceDictionary obiektu dla określonego klucza. po zainicjowaniu.
Aby uzyskać więcej informacji, zobacz Słowniki zasobów.
Rotation
Właściwość Rotation jest wartością double z zakresu od zera do 360, która definiuje obrót osi Z w stopniach. Wartość domyślna tej właściwości to 0. Rotacja jest stosowana względem AnchorX wartości i AnchorY .
RotationX
Właściwość RotationX jest wartością double z zakresu od 0 do 360, która definiuje obrót osi X w stopniach. Wartość domyślna tej właściwości to 0. Rotacja jest stosowana względem AnchorX wartości i AnchorY .
RotationY
Właściwość RotationY jest wartością double z zakresu od zera do 360, która definiuje rotację osi Y w stopniach. Wartość domyślna tej właściwości to 0. Rotacja jest stosowana względem AnchorX wartości i AnchorY .
Scale
Właściwość Scale jest wartością double , która definiuje skalę kontrolki. Wartość domyślna tej właściwości to 1.0. Skala jest stosowana względem AnchorX wartości i AnchorY .
ScaleX
Właściwość ScaleX jest wartością double , która definiuje skalę kontrolki wzdłuż osi X. Wartość domyślna tej właściwości to 1.0. Właściwość ScaleX jest stosowana względem AnchorX wartości.
ScaleY
Właściwość ScaleY jest wartością double , która definiuje skalę kontrolki wzdłuż osi Y. Wartość domyślna tej właściwości to 1.0. Właściwość ScaleY jest stosowana względem AnchorY wartości.
Style
Właściwość Style jest dziedziczona z NavigableElement klasy . Ta właściwość jest wystąpieniem Style klasy. Klasa Style zawiera wyzwalacze, metody ustawiające i zachowania definiujące wygląd i zachowanie elementów wizualizacji. Aby uzyskać więcej informacji, zobacz Xamarin.Forms Style XAML.
StyleClass
Właściwość StyleClass jest listą string obiektów reprezentujących nazwy Style klas. Ta właściwość jest dziedziczona z NavigableElement klasy . Właściwość StyleClass umożliwia zastosowanie wielu atrybutów stylu do VisualElement wystąpienia. Aby uzyskać więcej informacji, zobacz Xamarin.Forms Klasy stylów.
TabIndex
Właściwość TabIndex jest wartością int , która definiuje kolejność sterowania podczas przechodzenia przez kontrolki za pomocą tabulacji. Właściwość TabIndex jest implementacją właściwości zdefiniowanej w interfejsie ITabStopElement , którą VisualElement implementuje klasa.
TranslationX
Właściwość TranslationX jest wartością double , która definiuje tłumaczenie różnicowe, które ma być stosowane na osi X. Tłumaczenie jest stosowane po układzie i jest zwykle używane do stosowania animacji. Tłumaczenie elementu spoza granic kontenera nadrzędnego może uniemożliwić działanie danych wejściowych.
Aby uzyskać więcej informacji, zobacz Animacja w programie Xamarin.Forms.
TranslationY
Właściwość TranslationY jest wartością double , która definiuje tłumaczenie różnicowe, które ma być stosowane na osi Y. Tłumaczenie jest stosowane po układzie i jest zwykle używane do stosowania animacji. Tłumaczenie elementu spoza granic kontenera nadrzędnego może uniemożliwić działanie danych wejściowych.
Aby uzyskać więcej informacji, zobacz Animacja w programie Xamarin.Forms.
Triggers
Właściwość Triggers jest tylko List TriggerBase do odczytu obiektów. Wyzwalacze umożliwiają deweloperom aplikacji wyrażanie akcji w języku XAML, które zmieniają wygląd wizualizacji kontrolek w odpowiedzi na zmiany zdarzeń lub właściwości. Aby uzyskać więcej informacji, zobacz Xamarin.Forms Wyzwalacze.
Visual
Właściwość Visual jest wystąpieniem IVisual , które umożliwia tworzenie i selektywne stosowanie modułów renderujących do VisualElement wystąpień. Właściwość jest ustawiona Visual tak, aby pasować do jej elementu nadrzędnego, więc zdefiniowanie modułu renderowania w składniku będzie również miało zastosowanie do wszystkich elementów podrzędnych tego składnika. Jeśli dla kontrolki lub jej elementów nadrzędnych nie ustawiono niestandardowego modułu renderowania, zostanie użyty domyślny Xamarin.Forms moduł renderowania. Aby uzyskać więcej informacji, zobacz Xamarin.Forms Wizualizacja.
Width
Właściwość Width jest wartością tylko double do odczytu, która opisuje renderowaną szerokość kontrolki. Właściwość Width jest obliczana podczas cyklu układu i nie można jej ustawić bezpośrednio. Można zażądać szerokości kontrolki przy użyciu właściwości WidthRequest.
WidthRequest
Właściwość WidthRequest jest wartością double , która określa żądaną szerokość kontrolki. Bezwzględna szerokość kontrolki może być niezgodna z żądaną wartością. Aby uzyskać więcej informacji, zobacz Request properties (Właściwości żądania).
X
Właściwość X jest wartością tylko double do odczytu, która opisuje bieżącą pozycję X kontrolki.
Y
Właściwość Y jest wartością tylko double do odczytu, która opisuje bieżącą pozycję Y kontrolki.
Metody
W klasie są dostępne VisualElement następujące metody. Aby uzyskać pełną listę, zobacz VisualElement API Methods (Metody interfejsu API VisualElement).
FindByName
Metoda FindByName jest dziedziczona z Element klasy i ma następujący podpis:
public object FindByName (string name)
Ta metoda wyszukuje wszystkie elementy podrzędne dla podanego name argumentu i zwraca element, który ma określoną nazwę. Jeśli nie zostanie znalezione dopasowanie, null zostanie zwrócony.
Focus
Metoda Focus próbuje ustawić fokus na elemecie . Ta metoda ma następujący podpis:
public bool Focus ()
Focus Metoda zwracatrue, jeśli fokus klawiatury został pomyślnie ustawiony i false jeśli wywołanie metody nie spowodowało zmiany fokusu. Element musi mieć możliwość uzyskania fokusu, aby ta metoda działała. Focus Wywoływanie metody na elementach, które są wyłączone lub niezrealizowane, ma niezdefiniowane zachowanie.
Unfocus
Metoda Unfocus próbuje usunąć fokus na elemecie . Ta metoda ma następujący podpis:
public void Unfocus ()
Element musi już mieć fokus, aby ta metoda działała.
Zdarzenia
W klasie są dostępne VisualElement następujące zdarzenia. Aby uzyskać pełną listę, zobacz Xamarin.Forms VisualElement Events (Zdarzenia elementu VisualElement).
Focused
Zdarzenie Focused jest zgłaszane za każdym razem, VisualElement gdy wystąpienie odbiera fokus. To zdarzenie nie jest bąbelkowe za pośrednictwem stosu Xamarin.Forms , odbierane bezpośrednio z kontrolki natywnej. To zdarzenie jest emitowane przez IsFocused zestaw właściwości.
SizeChanged
Zdarzenie SizeChanged jest zgłaszane za każdym razem, gdy VisualElement wystąpienie Height lub Width właściwości się zmieni. Jeśli deweloperzy chcą odpowiedzieć bezpośrednio na zmianę rozmiaru, zamiast odpowiadać na zdarzenie po zmianie, zamiast tego powinni zaimplementować metodę wirtualną OnSizeAllocated .
Unfocused
Zdarzenie Unfocused jest zgłaszane za każdym razem, VisualElement gdy wystąpienie traci fokus. To zdarzenie nie jest bąbelkowe za pośrednictwem stosu Xamarin.Forms , odbierane bezpośrednio z kontrolki natywnej. To zdarzenie jest emitowane przez IsFocused zestaw właściwości.
Jednostki miary
Wszystkie platformy Android, iOS i UWP mają różne jednostki miar, które mogą się różnić w różnych urządzeniach. Xamarin.Forms używa niezależnej od platformy jednostki miary, która normalizuje jednostki na różnych urządzeniach i platformach. W obiekcie Xamarin.Formsznajduje się 160 jednostek na cal lub 64 jednostki na centymetr.
Właściwości żądania
Właściwości, których nazwy zawierają wartość "request", definiują żądaną wartość, która może nie być zgodna z rzeczywistą wartością renderowaną. Na przykład można ustawić wartość 150, HeightRequest ale jeśli układ zezwala tylko na miejsce dla 100 jednostek, renderowany Height kontrolka będzie mieć tylko 100. Rozmiar renderowany ma wpływ na dostępne miejsce i zawarte składniki.
Minimalne właściwości żądania
Minimalne właściwości żądania obejmują MinimumHeightRequest i MinimumWidthRequest, i mają na celu umożliwienie dokładniejszej kontroli nad sposobem obsługi przepełnienia względem siebie elementów. Jednak zachowanie układu związane z tymi właściwościami ma pewne ważne zagadnienia.
Nieokreślone minimalne wartości właściwości
Jeśli wartość minimalna nie jest ustawiona, wartość domyślna właściwości minimalnej to -1. Proces układu ignoruje tę wartość i uznaje wartość bezwzględną za minimalną. Praktyczną konsekwencją tego zachowania jest to, że element bez określonej wartości minimalnej nie zmniejszy się. Element o określonej wartości minimalnej zmniejszy się.
Poniższy kod XAML przedstawia dwa BoxView elementy w poziomie StackLayout:
<StackLayout Orientation="Horizontal">
<BoxView HeightRequest="100" BackgroundColor="Purple" WidthRequest="500"></BoxView>
<BoxView HeightRequest="100" BackgroundColor="Green" WidthRequest="500" MinimumWidthRequest="250"></BoxView>
</StackLayout>
Pierwsze BoxView wystąpienie żąda szerokości 500 i nie określa minimalnej szerokości. Drugie BoxView wystąpienie żąda szerokości 500 i minimalnej szerokości 250. Jeśli element nadrzędny StackLayout nie jest wystarczająco szeroki, aby zawierać oba składniki o żądanej szerokości, pierwsze BoxView wystąpienie zostanie uwzględnione przez proces układu, aby mieć minimalną szerokość 500, ponieważ nie określono innego prawidłowego minimum. Drugie BoxView wystąpienie może być skalowane w dół do 250 i będzie się zmniejszać, aż szerokość osiągnie 250 jednostek.
Jeśli żądane zachowanie dotyczy pierwszego BoxView wystąpienia do skalowania w dół bez minimalnej szerokości, MinimumWidthRequest należy ustawić prawidłową wartość, taką jak 0.
Minimalne i bezwzględne wartości właściwości
Zachowanie jest niezdefiniowane, gdy wartość minimalna jest większa niż wartość bezwzględna. Jeśli na przykład WidthRequest ustawiono wartość 100, MinimumWidthRequest właściwość nigdy nie powinna przekraczać 100. Podczas określania wartości właściwości minimalnej należy zawsze określić wartość bezwzględną, aby upewnić się, że wartość bezwzględna jest większa niż wartość minimalna.
Minimalne właściwości w siatce
Grid układy mają własny system do względnego określania rozmiaru wierszy i kolumn. Użycie MinimumWidthRequest lub MinimumHeightRequest wewnątrz Grid układu nie będzie miało wpływu. Aby uzyskać więcej informacji, zobacz Xamarin.Forms Siatka.