Как отображать x элементов в xamarin без прокрутки

Хорошо, это немного странно, но мне нужно сделать скриншот списка элементов в Xamarin. Проблема в том, что я использую ListView, и он отображает только около 5 элементов. Мне нужно отобразить все элементы в списке. Меня не волнует, будет ли он меньше на экране; Я просто хочу сделать скриншот вида и иметь возможность поделиться им.

Это мой .xaml:

<BoxView HorizontalOptions="FillAndExpand" HeightRequest="0.5" Color="Gray"/>
    <controls:CustomListView x:Name="list"
            ItemsSource="{Binding List}"  
            HeightRequest="1000" VerticalOptions="Fill"
            HasUnevenRows="True">
        <x:Arguments>
            <ListViewCachingStrategy>RecycleElement</ListViewCachingStrategy>
        </x:Arguments>  
        <controls:CustomListView.ItemTemplate>
            <DataTemplate>
                <cell:ItemViewCell></cell:ItemViewCell>
            </DataTemplate>
        </controls:CustomListView.ItemTemplate>
    </controls:CustomListView>
<BoxView HorizontalOptions="FillAndExpand" HeightRequest="0.5" Color="Gray"/>

Это для Андроида.


person AndyJRR    schedule 08.10.2018    source источник
comment
Существуют способы преобразования полного представления в изображение (или PDF-файл), и они различны для каждой ОС, но в Xamarin.Forms нет ничего, что поддерживало бы это как функцию по умолчанию. Эти методы рендеринга ограничены памятью при работе со снимком изображения, поскольку количество элементов находится в представлении списка, создание экземпляров всех этих моделей представления, создание каждого элемента представления и т. д. Если количество элементов довольно ограничено, вы можете создать собственный page/view и поэкспериментируйте с масштабированием представления, чтобы сделать все элементы видимыми одновременно и сделать снимок экрана на основе API, предполагая, что он читаем   -  person SushiHangover    schedule 09.10.2018
comment
Спасибо, пришлось создавать pdf, не получается перекрыть границы экрана, По крайней мере со списком нет, я пошел по пути pdf.   -  person AndyJRR    schedule 17.10.2018


Ответы (2)


В коде позади вас что-то вроде этого в методе OnAppearing

list.HeightRequested = list.ItemSource.Count * list.RowHeight;

вы также можете попытаться сделать то же самое в OnPropertyChanged CustomList, где propertyName — это ItemSource, что вам больше нравится

person Scarnet    schedule 08.10.2018

Пришлось создавать pdf, нельзя "перекрывать" границы экрана, По крайней мере со списком нет, я пошел по пути pdf

person AndyJRR    schedule 17.10.2018