.NET MAUI
一种 Microsoft 开源框架,用于构建跨移动设备、平板电脑、台式机的原生设备应用程序。
77 个问题
你好
我有一个简单的页面,带有一个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
你好,
造成此问题的原因是混合导航。使用 GoToAsync 时,程序使用路由进行导航,而 PopAsync 使用堆栈导航。
如果您需要关闭 pdf 页面并移动到另一个页面,请继续使用 GoToAsync 方法跳过该路由。
您可以参考以下文档,了解有关导航的更多详细信息。
如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。