Xamarin.Forms NavigationPage PushAsync不滚动

时间:2017-04-01 16:42:22

标签: android xamarin.forms

我使用MasterDetail页面,并且可以从Master获取的内容页面很长。我在Android设备上尝试应用程序,如果我访问其中一个页面创建一个新的NavigationPage,它们会正确显示,但如果我将它们推入导航堆栈,或者我从另一个页面返回到它们卷轴,卷轴不再起作用了。

这是创建NavigationPage的代码:

void OnItemSelected(object sender, SelectedItemChangedEventArgs e) {
    var item = e.SelectedItem as IMenuItem;
    if (item != null && item.SubmitPageType != null) {
        Detail = new NavigationPage((Page)Activator.CreateInstance(item.SubmitPageType));
        masterPage.ListView.SelectedItem = null;
        IsPresented = false;
    }
}

这是我用来将同一页面推入导航堆栈的代码

this.Navigation.PushAsync(new MyPage());

在Xaml中,我尝试过将ScrollView用于ContentPage.Content元素,但它没有尝试使用ScrollView。工作,它削减了页面底部的部分布局。

有没有人遇到过与NavigationPage和内容滚动类似的问题?任何人都可以帮助我吗?

由于

1 个答案:

答案 0 :(得分:0)

当我遇到simillar问题时,自定义NavigationPageRenderer中的此代码可以帮助我

[assembly: ExportRenderer(typeof(YOUR_CUSTOM_NAV_PAGE), typeof(NoAnimationNavigationPageRenderer))]
namespace CanPay.Mobile.Droid.Renderers
{
   public class NoAnimationNavigationPageRenderer : NavigationPageRenderer
   {
       protected override void SetupPageTransition(FragmentTransaction transaction, bool isPush)
       {
           transaction.SetCustomAnimations(0, 0, 0, 0);
       }
   }
}