是否可以在Xamarin表单的选项卡式页面中使用模式页面?
正如我的标题所说,在Xamarin表单中单击选项卡时是否可以使用模式页面是否可以在Xamarin表单的选项卡式页面中使用模式页面?,xamarin,xamarin.forms,Xamarin,Xamarin.forms,正如我的标题所说,在Xamarin表单中单击选项卡时是否可以使用模式页面 我想做什么当我点击我的5个标签之一,它会打开一个模式页面。如果可能的话,请有人给我举个例子,告诉我怎么做,或者告诉我正确的方法。当然,这是可能的,但有点棘手 创建一个空白页(例如FakePage)并将其添加到选项卡页。子项 在选项卡Page code behind overrideOnCurrentPageChanged中,检查是否选择了伪造页面,然后打开一个模式 打开模式时,告诉您的选项卡页面返回到上一个选项卡(因此当用
我想做什么当我点击我的5个标签之一,它会打开一个模式页面。如果可能的话,请有人给我举个例子,告诉我怎么做,或者告诉我正确的方法。当然,这是可能的,但有点棘手
选项卡页。子项
OnCurrentPageChanged
中,检查是否选择了伪造页面,然后打开一个模式选项卡页面
返回到上一个选项卡(因此当用户关闭模式时,不会看到空白页面)
选项卡式页面代码隐藏
private页面\u lastPage;
受保护的重写异步void OnCurrentPageChanged()
{
如果(当前页面为伪造页面)
{
等待导航;
//稍等模态打开,然后重新选择最后一个选项卡
//这在用户关闭模式时非常有用:您不想显示空白页
等待任务。延迟(150);
CurrentPage=\u lastPage;
}
其他的
{
_lastPage=当前页面;
}
base.OnCurrentPageChanged();
}
根据詹帕罗的说法,以下方法可能会更流畅一些:
protected override async void OnCurrentPageChanged()
{
if (CurrentPage is FakePage)
{
CurrentPage = _lastPage;
await Navigation.PushModalAsync(new YourModalPage());
}
else
{
_lastPage = CurrentPage;
}
base.OnCurrentPageChanged();
}
P>这样,在过渡期间,你永远看不到空白假页。我想你可以做这项工作,但听起来像是一个非常糟糕的UX。我真的会重新考虑任何需要这种行为的设计。