显示弹出窗口的问题

时间:2018-12-27 14:34:57

标签: xamarin xamarin.forms popup

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

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

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

这是Command

这里有弹出窗口的视图类

<?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'

1 个答案:

答案 0 :(得分:0)

将您的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
{
}