页面不能关闭。。。。

Wenyan Zhang (Shanghai Wicresoft Co,.Ltd.) 31,166 信誉分 Microsoft 供应商
2024-08-20T06:13:03.7866667+00:00

你好

 

我有一个简单的页面,带有一个pdfviewer和一个关闭按钮;

 


 

    <StackLayout>

 

        <dx:PdfViewer

 

            x:Name="PdfViewer"

 

            HorizontalOptions="FillAndExpand"

 

            PageTap="OnPageTap"

 

            ShowEditToolbar="False"

 

            VerticalOptions="FillAndExpand" />

 

        <Button

 

            Clicked="OnCloseClicked"

 

            HorizontalOptions="CenterAndExpand"

 

            Text="Close"

 

            VerticalOptions="End" />

 

    </StackLayout>

 

</ContentPage.Content>

 

此页面的调用方式如下;

 

 

var navigationUri = $"///pdfViewerPage?pdfUri={encodedUri}";

 

            await Shell.Current.GoToAsync(navigationUri); 

 

页面正在通过 QueryProperty 选取参数。

 

一切都很好。

 

问题是,当单击关闭按钮并执行以下代码时,页面将保持打开状态,并且仍显示pdf文档。

 

private async void OnCloseClicked(object sender, EventArgs e)

 

    {

 

        PdfViewer.CloseDocument();

 

        //Tried both below

 

        await Shell.Current.Navigation.PopAsync();

 

        await Navigation.PopAsync();

 

    } 

 

点击关闭按钮后如何关闭页面?

 

谢谢

 

 

此问题整理于:https://learn.microsoft.com/en-us/answers/questions/1857614/page-not-closing

 

.NET MAUI
.NET MAUI
一种 Microsoft 开源框架,用于构建跨移动设备、平板电脑、台式机的原生设备应用程序。
77 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Yonglun Liu (Shanghai Wicresoft Co,.Ltd.) 42,431 信誉分 Microsoft 供应商
    2024-08-20T06:38:42.57+00:00

    你好,

    造成此问题的原因是混合导航。使用 GoToAsync 时,程序使用路由进行导航,而 PopAsync 使用堆栈导航。

    如果您需要关闭 pdf 页面并移动到另一个页面,请继续使用 GoToAsync 方法跳过该路由。

    您可以参考以下文档,了解有关导航的更多详细信息。


    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。