显示弹出窗口的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了显示弹出窗口的问题相关的知识,希望对你有一定的参考价值。

我正在使用Rg.Plugins.Popup插件在水龙头上显示弹出窗口。我的问题是如何从viewmodel类调用popuppage? (我正在使用MVVM)

我在viewmodel中使用以下代码作为tap处理程序:

public async void OnForgotPasswordAsync()
        {
            await Application.Current.MainPage.Navigation.PushPopupAsync(new ForgotPassword());
        }

这是一个Command

这里我有popuppage的视图类

<?xml version="1.0" encoding="UTF-8"?>
<pages:PopupPage xmlns="http://xamarin.com/schemas/2014/forms" 
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="WeHelp.View.ForgotPassword"
             xmlns:pages="clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup">

    <StackLayout Margin="12" Padding="24" BackgroundColor="White" HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand">
        <StackLayout>
            <Label Text="Please type your Email. Once you click on 'Send', please check your inbox or spam folder" />
            <Entry Placeholder="Email" Keyboard="Email"/>
        </StackLayout>
        <Button Text="Send" Command="{Binding SendPassword}"/>
    </StackLayout>

</pages:PopupPage>

所以,我的问题发生在命令

 await Application.Current.MainPage.Navigation.PushPopupAsync(new ForgotPassword());

我得到错误Argument 2: cannot convert from 'WeHelp.View.ForgotPassword' to 'Rg.Plugins.Popup.Pages.PopupPage'

答案

将你的xaml改成这样的东西

  <pages:PopupPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         xmlns:pages="clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup"
         xmlns:animations="clr-   
         namespace:Rg.Plugins.Popup.Animations;assembly=Rg.Plugins.Popup"
         x:Class="HealthMobile.PopPages.ForgotPassowordPop">

</pages:PopupPage>

和page.cs到

public partial class ForgotPassowordPop : PopupPage
{
}

以上是关于显示弹出窗口的问题的主要内容,如果未能解决你的问题,请参考以下文章

仅在单击某个按钮时显示弹出窗口

在片段中使用列表视图

Kivy:弹出窗口不显示

在片段中我想点击如何显示警告对话框

从 Fragment 显示弹出窗口

Android Studio 编辑器:如何禁用导入建议的蓝色弹出窗口