Xamarin.Forms добавляют ScrollView к ContentPage и переносят существующий контент - PullRequest
0 голосов
/ 10 июля 2019

У меня есть страница Xamarin.Forms, написанная на .xaml Только на платформе iOS. Я пытаюсь обернуть содержимое страницы в ScrollView, чтобы помочь решить проблему изменения размера при отображении клавиатуры.

Страница выглядит примерно так:

<base:mypagebase...>
    <ContentPage.Resources>
       ...
    </ContentPage.Resources>
    <ContentPage.Content>
       <RelativeLayout x:Name="ViewContentLayout" VerticalOptions="FillAndExpand">
          ....
       </RelativeLayou>
    </ContentPage.Content>
</base:mypagebase>

Я пытаюсь в конструкторе моего mpage.xaml.cs после InitializeComponent() обернуть мой RelativeLayout в ScrollView

Примерно так:

if (Device.RuntimePlatform == Device.iOS)
{
    var scroll = new ScrollView();
    scroll.Orientation = ScrollOrientation.Vertical;
    scroll.VerticalOptions = LayoutOptions.FillAndExpand;
    scroll.Content = ViewContentLayout;
    Content = scroll;
}

Проходит, но позже выдает исключение:

Object reference not set to an instance of an object

at Xamarin.Forms.RelativeLayout.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00017] in RelativeLayout.cs:185

1 Ответ

0 голосов
/ 10 июля 2019

Порядок, в котором свойства называются вопросами, похоже, что корень контента должен быть установлен первым:

if (Device.RuntimePlatform == Device.iOS)
{
    var viewContentLayout = ViewContentLayout;
    var scroll = new ScrollView();

    Content = scroll;

    scroll.Content = viewContentLayout;          
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...