Saltar al contenido

¿Cómo crear un formulario en una ventana emergente usando xamarin.forms?

Nuestros mejores desarrolladores agotaron sus depósitos de café, por su búsqueda a tiempo completo por la respuesta, hasta que Román halló el hallazgo en Gogs y hoy la compartimos aquí.

Solución:

Mi experiencia dice que PopupLayout de XLabs no funciona correctamente a veces. Pero hay una biblioteca realmente agradable que permite crear ventanas emergentes complejas: Rg.Plugins.Popup. El único problema: falta la implementación de UWP (pero se lanzará).

XLabs tiene un PopupLayout que puede usar para hacer esto.

var pop = new XLabs.Forms.Controls.PopupLayout();

// PatientSearch is a ContentView I was to display in the popup
var search = new PatientSearch(data, this);
search.WidthRequest = 600;
search.HeightRequest = 500;
search.BackgroundColor = new Color (1, 1, 1, 0.8);
pop.ShowPopup(search);

Una solución común que he usado para resolver esto es crear un StackLayout con todo el formulario dentro e insértelo como elemento secundario de la página que está utilizando actualmente, por ejemplo:

PopupPage popUp; //This will be the layout of the form

Page : ContentPage 

    var gird = new Gird();

    popUp = PopupPage();
    popUp.IsVisible = false;

    var mainContainer = new StackLayout();

    mainContainer.Children.Add(All you UI stuff..);

    var btn = new Button();
    btn.Clicked += OnButtonClicked;

    grid.Children.Add(mainContainer,0,0);
    grid.Children.Add(popUp,0,0);


Entonces, para mostrar el popoUP, debe jugar con la propiedad IsVisible, por ejemplo:

void OnButtonClicked()

    //You can center the popup using Vertical options or whatever you need
    //and to resize the pop up you can do different calculations like
    //popUp.Width = ScreenWidth / 2 and popUp.Height = ScreenWidth / 2
    popUp.IsVisile = true;


Y esto funciona para todas las plataformas, la única desventaja es que no tendrás el diseño transparente, pero para eso puedes usar:

https://github.com/gaborv/xam-forms-transparent-modal

Comentarios y calificaciones del tutorial

Agradecemos que quieras ayudar nuestra labor ejecutando un comentario o puntuándolo te damos la bienvenida.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *