Xamarin.Forms - 如何创建可选择的显示警报或弹出窗口?

问题描述 投票:0回答:1

我正在开发一个 Xamarin.Forms 项目,需要实现一个可选择的显示警报或弹出窗口,类似于 WinForms 中的 MessageBox。目标是拥有一个包含用户可以选择的选项和特定图像的模态叠加层。我希望此弹出窗口出现在现有内容的顶部,而不创建新窗口。

在 Xamarin.Forms 中实现此目标的推荐方法或最佳实践是什么?是否有任何内置功能或第三方库可以帮助实现可定制和可选择的显示警报?

我感谢任何开始执行此任务的指导或代码片段。

c# xamarin
1个回答
0
投票

好的,这是 Windows Forms 项目的代码,您应该能够将其调整为 Xamarin Forms 我调用 frmAlert 的表单具有此代码,它仅将整数发送到另一个表单,除非该值未在文本框中输入,或者如果在下面的文本框代码中输入了字母。附注这是一个使用静态变量的测试项目

       public bool PF;
    private void btnSD_Click(object sender, EventArgs e)
    {

        CheckEntry();
        if (PF == true)
        {
            return;
        }

    }
 public void CheckEntry()
    {
        if (string.IsNullOrEmpty(tbEV.Text))
        {
            gv.gvalertType = "1";
            frmAlert fA = new frmAlert();
            gv.entTHIS = "Nothing";
            fA.ShowDialog();
            tbMessage.Text = "Text Box is Empty";
            ActiveControl = tbEV;//This Works
            PF = true;
            return;
        }

        if (Int32.TryParse(tbEV.Text, out var outParse))// This test that a Integer was entered 
        {
            doWhat = 1;
            Hide();
            frmShowData fSD = new frmShowData();
            gv.I = Int32.Parse(tbEV.Text);
            fSD.Show();
        }
        else
        {
            gv.gvalertType = "1";
            frmAlert fA = new frmAlert();
            gv.entTHIS = "a Letter";
            fA.ShowDialog();
           
            tbMessage.Text = "Enter a Integer Value";
            ActiveControl = tbEV;
            PF = true;
            return;
        }

    }

这是我创建变量的地方

    static class gv
{
    public static int I;
    public static string gvalertType;
    public static string entTHIS;
}

这是 frmAlert 中的代码和 frmAlert 的屏幕截图

 private void btnOK_Click(object sender, EventArgs e)
    {
        gv.gvalertType = "";
        Close();
    }

    private void frmAlert_Load(object sender, EventArgs e)
    {
        if (gv.gvalertType == "1")// MUST be "/r/n" in that order
            tbAlert.Text = "\r\n" + "You Entered "+gv.entTHIS; //& gvTxType & " Amount";
        
    }

它的 Sies 为 448 x 208,控制盒为 False 关闭的唯一方法是“确定”按钮

© www.soinside.com 2019 - 2024. All rights reserved.