Xamarin.Forms propiedades de control comunes, métodos y eventos

La Xamarin.FormsVisualElement clase es la clase base para la mayoría de los controles usados en una Xamarin.Forms aplicación. La VisualElement clase define muchas VisualElementmétodosy eventos que se usan en las clases derivadas.

Propiedades

Las siguientes propiedades están disponibles en VisualElement los objetos .

Xamarin_Forms _VisualElement_AnchorX" data-linktype="absolute-path">AnchorX

La propiedad es un valor que define el punto central en el eje X para transformaciones AnchorX como la escala y la double rotación. El valor predeterminado es 0,5.

Xamarin_Forms _VisualElement_AnchorY" data-linktype="absolute-path">AnchorY

La propiedad es un valor que define el punto central en el eje Y para transformaciones AnchorY como la escala y la double rotación. El valor predeterminado es 0,5.

Background

La propiedad es un valor que permite usar pinceles como Background fondo en cualquier Brush control. El valor predeterminado es Brush.Default.

Xamarin_Forms _VisualElement_BackgroundColor" data-linktype="absolute-path">BackgroundColor

La BackgroundColor propiedad es un que determina el color de fondo del Color control. Si se desasoye, el fondo será el objeto Color predeterminado, que se representa como transparente.

Xamarin_Forms _VisualElement_Behaviors" data-linktype="absolute-path">Behaviors

La Behaviors propiedad es de objetos ListBehavior . Los comportamientos permiten adjuntar funcionalidad reutilizable a los elementos agregándolos a la Behaviors lista. Para obtener más información sobre la Behavior clase , vea Xamarin.Forms Behaviors .

Xamarin_Forms _VisualElement_Bounds" data-linktype="absolute-path">Bounds

La Bounds propiedad es un objeto de solo lectura que representa el espacio ocupado por el control Rectangle . El Bounds valor de propiedad se asigna durante el ciclo de diseño. contiene Rectanglestruct propiedades y métodos útiles para probar la intersección y la contención de rectángulos. Para obtener más información, vea Xamarin.Forms Rectangle API.

Clip

La Clip propiedad es un objeto que define el contorno del contenido de un Geometry elemento. Para definir un clip, use Geometry un objeto como para establecer la propiedad del EllipseGeometryClip elemento. Solo estará visible el área que se encuentra dentro de la región de la geometría. Para obtener más información, vea Recorte con una geometría.

Xamarin_Forms _Element_Effects" data-linktype="absolute-path">Effects

La Effects propiedad es un de ListEffect objetos, heredado de la clase Element . Los efectos permiten personalizar controles nativos y normalmente se usan para pequeños cambios de estilo. Para obtener más información sobre la Effect clase , vea Xamarin.Forms Effects .

Xamarin_Forms _VisualElement_FlowDirection" data-linktype="absolute-path">FlowDirection

La FlowDirection propiedad es un valor de FlowDirection enumeración. Flow dirección se puede establecer en , o y determina el orden y la MatchParentLeftToRight dirección del RightToLeft diseño. La FlowDirection propiedad se usa normalmente para admitir idiomas que leen de derecha a izquierda.

Xamarin_Forms _VisualElement_Height" data-linktype="absolute-path">Height

La propiedad es un valor de solo lectura que describe el alto Heightdouble representado del control. La Height propiedad se calcula durante el ciclo de diseño y no se puede establecer directamente. El alto de un control se puede solicitar mediante la propiedad HeightRequest.

Xamarin_Forms _VisualElement_HeightRequest" data-linktype="absolute-path">HeightRequest

La HeightRequest propiedad es un valor que determina el alto deseado del double control. Es posible que el alto absoluto del control no coincida con el valor solicitado. Para obtener más información, vea Propiedades de solicitud.

Xamarin_Forms _VisualElement_InputTransparent" data-linktype="absolute-path">InputTransparent

La InputTransparent propiedad es un que determina si el control recibe la entrada del bool usuario. El valor predeterminado es false , lo que garantiza que el elemento recibe la entrada. Esta propiedad se transfiere a los elementos secundarios cuando se establece. Si se establece la propiedad en en una clase de diseño, todos los elementos del InputTransparenttrue diseño no recibirán la entrada.

Xamarin_Forms _VisualElement_IsEnabled" data-linktype="absolute-path">IsEnabled

La IsEnabled propiedad es un valor que determina si el control reacciona a la entrada del bool usuario. El valor predeterminado es true. Establecer esta propiedad en false impedirá que el control acepte la entrada del usuario.

Xamarin_Forms _VisualElement_IsFocused" data-linktype="absolute-path">IsFocused

La IsFocused propiedad es un valor que describe si el control es actualmente el objeto bool centrado. Llamar al Focus método en el control dará lugar a que el valor se establezca en IsFocused true. Al llamar Unfocus al método se establecerá esta propiedad en false.

Xamarin_Forms _VisualElement_IsTabStop" data-linktype="absolute-path">IsTabStop

La propiedad es un valor que define si el control recibe el foco cuando el usuario IsTabStop avanza por los controles con la tecla bool tab. Si esta propiedad es false, la TabIndex propiedad no tendrá ningún efecto.

Xamarin_Forms _VisualElement_IsVisible" data-linktype="absolute-path">IsVisible

La IsVisible propiedad es un valor que determina si se representa el bool control. Los controles con la propiedad establecida en false no se mostrarán, no se considerarán para los cálculos de espacio durante el ciclo de diseño y no podrán aceptar la entrada IsVisible del usuario.

Xamarin_Forms _VisualElement_MinimumHeightRequest" data-linktype="absolute-path">MinimumHeightRequest

La propiedad es un valor que determina cómo se controla el MinimumHeightRequestdouble desbordamiento cuando dos elementos compiten por un espacio limitado. Establecer la propiedad permite al proceso de diseño reducir verticalmente MinimumHeightRequest el elemento a la dimensión mínima solicitada. Si no se especifica ningún valor, el valor predeterminado es -1 y el proceso de diseño considerará que MinimumHeightRequestHeightRequest es el valor mínimo. Esto significa que los elementos sin MinimumHeightRequest valor no tendrán un alto escalable.

Para obtener más información, vea Propiedades de solicitud mínimas.

Xamarin_Forms _VisualElement_MinimumWidthRequest" data-linktype="absolute-path">MinimumWidthRequest

La propiedad es un valor que determina cómo se controla el MinimumWidthRequestdouble desbordamiento cuando dos elementos compiten por un espacio limitado. Establecer la propiedad permite al proceso de diseño reducir verticalmente MinimumWidthRequest el elemento a la dimensión mínima solicitada. Si no se especifica ningún valor, el valor predeterminado es -1 y el proceso de diseño considerará que MinimumWidthRequestWidthRequest es el valor mínimo. Esto significa que los elementos sin MinimumWidthRequest valor no tendrán ancho escalable.

Para obtener más información, vea Propiedades de solicitud mínimas.

Xamarin_Forms _VisualElement_Opacity" data-linktype="absolute-path">Opacity

La propiedad es un valor de cero a uno que determina la Opacity opacidad del control durante la double representación. El valor predeterminado de esta propiedad es 1.0. Los valores fuera del intervalo de 0 a 1 se fijarán. La Opacity propiedad solo se aplica si la propiedad es IsVisibletrue . La opacidad se aplica de forma iterativa. Por lo tanto, si un control primario tiene una opacidad de 0,5 y su elemento secundario tiene una opacidad de 0,5, el elemento secundario se representará con un valor efectivo de opacidad de 0,25. Establecer la Opacity propiedad de un control de entrada en 0 tiene un comportamiento indefinido.

Xamarin_Forms _Element_Parent" data-linktype="absolute-path">Parent

La propiedad Parent se hereda de la clase Element. Esta propiedad es un Element objeto que es el elemento primario del control . La propiedad normalmente se establece automáticamente en un elemento cuando se Parent agrega como elemento secundario de otro elemento.

Xamarin_Forms _VisualElement_Resources" data-linktype="absolute-path">Resources

La Resources propiedad es una instancia de que se rellena con pares clave-valor que normalmente se rellenan en ResourceDictionary tiempo de ejecución desde XAML. Este diccionario permite a los desarrolladores de aplicaciones reutilizar objetos definidos en XAML tanto en tiempo de compilación como en tiempo de ejecución. Las claves del diccionario se rellenan a partir del x:Key atributo de la etiqueta XAML. El objeto creado a partir de XAML se inserta en ResourceDictionary para la clave especificada. una vez que se ha inicializado.

Para más información, consulte Diccionarios de recursos.

Xamarin_Forms _VisualElement_Rotation" data-linktype="absolute-path">Rotation

La Rotation propiedad es un valor entre cero y 360 que define la rotación sobre double el eje Z en grados. El valor predeterminado de esta propiedad es 0. La rotación se aplica en relación con los AnchorX valores AnchorY y .

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

La RotationX propiedad es un valor entre cero y 360 que define la rotación sobre double el eje X en grados. El valor predeterminado de esta propiedad es 0. La rotación se aplica en relación con los AnchorX valores AnchorY y .

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

La RotationY propiedad es un valor entre cero y 360 que define la rotación sobre double el eje Y en grados. El valor predeterminado de esta propiedad es 0. La rotación se aplica en relación con los AnchorX valores AnchorY y .

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

La Scale propiedad es un valor que define la escala del double control. El valor predeterminado de esta propiedad es 1.0. La escala se aplica en relación con los AnchorX valores AnchorY y .

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

La ScaleX propiedad es un valor que define la escala del control a lo largo del eje double X. El valor predeterminado de esta propiedad es 1.0. La ScaleX propiedad se aplica en relación con el AnchorX valor.

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

La ScaleY propiedad es un valor que define la escala del control a lo largo del eje double Y. El valor predeterminado de esta propiedad es 1.0. La ScaleY propiedad se aplica en relación con el AnchorY valor.

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

La propiedad Style se hereda de la clase NavigableElement. Esta propiedad es una instancia de la Style clase . La Style clase contiene desencadenadores, setters y comportamientos que definen la apariencia y el comportamiento de los elementos visuales. Para obtener más información, vea Xamarin.Forms XAML Styles.

Xamarin_Forms _NavigableElement_StyleClass" data-linktype="absolute-path">StyleClass

La StyleClass propiedad es una lista de objetos que representan los nombres de las stringStyle clases. Esta propiedad se hereda de la clase NavigableElement. La StyleClass propiedad permite aplicar varios atributos de estilo a una instancia de VisualElement . Para obtener más información, vea Xamarin.Forms Style Classes.

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

La TabIndex propiedad es un valor que define el orden de control al avanzar por los controles con la tecla int de tabulación. La TabIndex propiedad es la implementación de la propiedad definida en la interfaz , que la clase ITabStopElementVisualElement implementa.

Xamarin_Forms _VisualElement_TranslationX" data-linktype="absolute-path">TranslationX

La TranslationX propiedad es un valor que define la traducción diferencial que se va a aplicar en el eje double X. La traducción se aplica después del diseño y normalmente se usa para aplicar animaciones. La traducción de un elemento fuera de los límites de su contenedor primario impide que las entradas funcionen.

Para obtener más información, vea Animation in Xamarin.Forms.

Xamarin_Forms _VisualElement_TranslationY" data-linktype="absolute-path">TranslationY

La TranslationY propiedad es un valor que define la traducción diferencial que se va a aplicar en el eje double Y. La traducción se aplica después del diseño y normalmente se usa para aplicar animaciones. La traducción de un elemento fuera de los límites de su contenedor primario impide que las entradas funcionen.

Para obtener más información, vea Animation in Xamarin.Forms.

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

La Triggers propiedad es de solo lectura de objetos ListTriggerBase . Los desencadenadores permiten a los desarrolladores de aplicaciones expresar acciones en XAML que cambian la apariencia visual de los controles en respuesta a los cambios de eventos o propiedades. Para obtener más información, vea Xamarin.Forms Triggers.

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

La propiedad es una instancia de que permite crear representadores Visual y aplicar de forma selectiva a las instancias de IVisualVisualElement . La propiedad se establece para que coincida con su elemento primario, por lo que la definición de un representador en un componente también se aplicará a los Visual elementos secundarios de ese componente. Si no se establece ningún representador personalizado en un control o sus antecesores, se usará Xamarin.Forms el representador predeterminado. Para obtener más información, vea Xamarin.Forms Visual.

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

La Width propiedad es un valor de solo lectura que describe el ancho representado del double control. La Width propiedad se calcula durante el ciclo de diseño y no se puede establecer directamente. El ancho de un control se puede solicitar mediante la propiedad WidthRequest.

Xamarin_Forms _VisualElement_WidthRequest" data-linktype="absolute-path">WidthRequest

La WidthRequest propiedad es un valor que determina el ancho deseado del double control. Es posible que el ancho absoluto del control no coincida con el valor solicitado. Para obtener más información, vea Propiedades de solicitud.

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

La X propiedad es un valor de solo lectura que describe la posición X actual del double control.

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

La Y propiedad es un valor de solo lectura que describe la posición Y actual del double control.

Métodos

Los métodos siguientes están disponibles en la VisualElement clase . Para obtener una lista completa, vea VisualElement API Methods.

FindByName

El FindByName método se hereda de la clase y Element tiene la firma siguiente:

public object FindByName (string name)

Este método busca en todos los elementos secundarios el name argumento proporcionado y devuelve el elemento que tiene el nombre especificado. Si no se encuentra alguna coincidencia, se devuelve null.

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

El Focus método intenta establecer el foco en el elemento . Este método tiene la siguiente firma:

public bool Focus ()

El método devuelve si el foco del teclado se estableció correctamente y si la llamada al método no ha dado lugar Focus a un cambio de truefalse foco. El elemento debe ser capaz de recibir el foco para que este método funcione. Llamar al método en elementos que están fuera de la pantalla o no se han producido Focus tiene un comportamiento indefinido.

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

El Unfocus método intenta quitar el foco en el elemento . Este método tiene la siguiente firma:

public void Unfocus ()

El elemento ya debe tener el foco para que este método funcione.

Events

Los siguientes eventos están disponibles en la VisualElement clase . Para obtener una lista completa, vea Xamarin.Forms VisualElement Events.

Focused

El Focused evento se genera cada vez que la instancia recibe el VisualElement foco. Este evento no se burbujas a través de la Xamarin.Forms pila, se recibe directamente desde el control nativo. El setter de la propiedad emite IsFocused este evento.

SizeChanged

El SizeChanged evento se genera cada vez que cambia la instancia o las VisualElementHeightWidth propiedades. Si los desarrolladores desean responder directamente al cambio de tamaño, en lugar de responder al evento posterior al cambio, deben implementar el OnSizeAllocated método virtual en su lugar.

Unfocused

El Unfocused evento se genera cada vez que la instancia pierde el VisualElement foco. Este evento no se burbujas a través de la Xamarin.Forms pila, se recibe directamente desde el control nativo. El setter de la propiedad emite IsFocused este evento.

Unidades de medida

Las plataformas Android, iOS y UWP tienen unidades de medida diferentes que pueden variar entre dispositivos. Xamarin.Forms usa una unidad de medida independiente de la plataforma que normaliza las unidades entre dispositivos y plataformas. Hay 160 unidades por pulgada, o 64 unidades por cent centimetro, en Xamarin.Forms .

Propiedades de solicitud

Las propiedades cuyos nombres contienen "solicitud" definen un valor deseado, que puede no coincidir con el valor representado real. Por ejemplo, podría establecerse en 150, pero si el diseño solo permite espacio para 100 unidades, el representado del control solo será HeightRequestHeight 100. El tamaño representado se ve afectado por el espacio disponible y los componentes contenidos.

Propiedades de solicitud mínimas

Las propiedades de solicitud mínimas incluyen y , y están diseñadas para permitir un control más preciso sobre cómo los elementos controlan el desbordamiento MinimumHeightRequestMinimumWidthRequest entre sí. Sin embargo, el comportamiento de diseño relacionado con estas propiedades tiene algunas consideraciones importantes.

Valores de propiedad mínimos no especificados

Si no se establece un valor mínimo, el valor predeterminado de la propiedad mínima es -1. El proceso de diseño omite este valor y considera que el valor absoluto es el mínimo. La consecuencia práctica de este comportamiento es que un elemento sin ningún valor mínimo especificado no se reducirá. Se reducirá un elemento con un valor mínimo especificado.

El código XAML siguiente muestra dos BoxView elementos en un StackLayout horizontal:

<StackLayout Orientation="Horizontal">
    <BoxView HeightRequest="100" BackgroundColor="Purple" WidthRequest="500"></BoxView>
    <BoxView HeightRequest="100" BackgroundColor="Green" WidthRequest="500" MinimumWidthRequest="250"></BoxView>
</StackLayout>

La primera BoxView instancia solicita un ancho de 500 y no especifica un ancho mínimo. La segunda BoxView instancia solicita un ancho de 500 y un ancho mínimo de 250. Si el elemento primario no es lo suficientemente ancho como para contener ambos componentes en el ancho solicitado, el proceso de diseño considerará que la primera instancia tiene un ancho mínimo de StackLayout 500 porque no se especifica ningún otro mínimo BoxView válido. La segunda instancia puede reducir verticalmente a 250 y se reducirá para ajustarse hasta que su ancho llegue a BoxView 250 unidades.

Si el comportamiento deseado es que la primera instancia se escale verticalmente sin ancho mínimo, debe establecerse en BoxViewMinimumWidthRequest un valor válido, como 0.

Valores de propiedad mínimos y absolutos

El comportamiento es indefinido cuando el valor mínimo es mayor que el valor absoluto. Por ejemplo, si WidthRequest se establece en 100, la MinimumWidthRequest propiedad nunca debe superar 100. Al especificar un valor de propiedad mínimo, siempre debe especificar un valor absoluto para asegurarse de que el valor absoluto es mayor que el valor mínimo.

Propiedades mínimas dentro de una cuadrícula

Grid los diseños tienen su propio sistema para el tamaño relativo de filas y columnas. El MinimumWidthRequest uso de o dentro de un diseño no tendrá ningún MinimumHeightRequestGrid efecto. Para obtener más información, vea Xamarin.Forms Grid.