Автоматическое сохранение размера представления списка или удаление ненужного пространства представления списка

#xamarin #xamarin.forms #xamarin.ios

Вопрос:

Это моя страница с флажком ,я разделил(Словари,коллекция,повторение) с помощью сетки ,и каждая часть имеет представление списка ,я хочу удалить ненужное пространство ,отображаемое в разделе словари, также хочу автоматически увеличить размер .У меня есть флажок использовать представление списка для отображения, и весь раздел-это сетка мыслей

введите описание изображения здесь

Это Моя страница с флажком ,я разделил этот список с помощью сетки ,я хочу удалить ненужное пространство ,отображаемое в разделе словари, также хочу автоматически увеличить размер .У меня есть флажок использовать представление списка для отображения, и весь раздел-это сетка мыслей

Ниже приведен мой код ,

 <StackLayout  Padding="10" Grid.Column="0" Orientation="Vertical" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
                            
                            <Grid>
                                    <Grid.RowDefinitions>
                                        
                                        <RowDefinition Height="3*"/>
                                        <RowDefinition Height="2*"/>
                                        <RowDefinition Height="2*"/>
                                        <RowDefinition Height="3*"/>
                                    </Grid.RowDefinitions>


                                <StackLayout Grid.Row="0"  VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" Orientation="Vertical">
                                    <Label Margin="-15,0,0,0"   HorizontalOptions="StartAndExpand"  Text="{x:Static resources:AppResources.Dictionaries}" Style="{StaticResource MenueLable}" ></Label>

                                    <ListView BackgroundColor="White"  ItemsSource="{Binding DictionariesFilter}" VerticalOptions="FillAndExpand" HasUnevenRows="True"  SeparatorVisibility="None" RowHeight="-1">
                                        <ListView.ItemTemplate >
                                            <DataTemplate >
                                                <ViewCell Tapped="Handle_Tapped" >
                                                    <StackLayout  Orientation="Horizontal">
                                                        <input:CheckBox  Style="{StaticResource CheckBox}" IsChecked="{Binding                                                                  IsChecked}" Type="Check" CheckChangedCommand="{Binding                                                                                      Path=BindingContext.CheckBoxSelectionCommand, Source={x:Reference Name=entriesView}}"/>
                                                        <Label Text="{Binding DicName}" VerticalTextAlignment="Center" ></Label>
                                                    </StackLayout>
                                                </ViewCell>
                                            </DataTemplate>
                                        </ListView.ItemTemplate>
                                    </ListView>

                                    <Button  Text="Load More" IsVisible="False"  TextColor="#22B473"  FontAttributes="Bold" HorizontalOptions="Center" VerticalOptions="Start"></Button>
                                    <Line Background="#F0F0F0" HeightRequest="2" ></Line>

                                </StackLayout>

                                <StackLayout Grid.Row="1" VerticalOptions="FillAndExpand" Orientation="Vertical">
                                        <Label Margin="-25,0,0,0" Text="{x:Static resources:AppResources.Collection}" VerticalOptions="StartAndExpand" HorizontalOptions="StartAndExpand"  Style="{StaticResource MenueLable}"></Label>
                                    <ListView ItemsSource="{Binding CollectionsFilter}" HasUnevenRows="True"   BackgroundColor="White"  SeparatorVisibility="None" RowHeight="-1" >
                                            <ListView.ItemTemplate>
                                                <DataTemplate>
                                                <ViewCell  Tapped="Handle_Tapped">
                                                        <StackLayout Orientation="Horizontal"  >
                                                        <input:CheckBox Style="{StaticResource CheckBox}" Type="Check" 
                                                           CheckChangedCommand="{Binding  Path=BindingContext.CheckBoxSelectionCommand, 
                                                            Source={x:Reference Name=entriesView}}"/>
                                                        <Label Text="{Binding DicName}" VerticalTextAlignment="Center" ></Label>
                                                    </StackLayout>
                                                    </ViewCell>
                                                </DataTemplate>
                                            </ListView.ItemTemplate>
                                        </ListView>
                                        <Line Background="#F0F0F0" HeightRequest="2"></Line>
                                    </StackLayout>

                                    <StackLayout Grid.Row="2"   VerticalOptions="FillAndExpand" Orientation="Vertical">
                                        <Label Margin="-20,0,0,0" VerticalOptions="StartAndExpand" HorizontalOptions="StartAndExpand"   Text="{x:Static resources:AppResources.References}"  Style="{StaticResource MenueLable}"></Label>
                                        <ListView HasUnevenRows="True" BackgroundColor="White"  ItemsSource="{Binding RefrencesFilter}" SeparatorVisibility="None" >
                                            <ListView.ItemTemplate>
                                                <DataTemplate>
                                                    <ViewCell>
                                                        <StackLayout Orientation="Horizontal"  >
                                                        <input:CheckBox Style="{StaticResource CheckBox}"  Type="Check" 
                                                           CheckChangedCommand="{Binding  Path=BindingContext.CheckBoxSelectionCommand, 
                                                            Source={x:Reference Name=entriesView}}"/>
                                                        <Label Text="{Binding DicName}" VerticalTextAlignment="Center" ></Label>
                                                    </StackLayout>
                                                    </ViewCell>
                                                </DataTemplate>
                                            </ListView.ItemTemplate>
                                        </ListView>
                                        <Line Background="#F0F0F0" HeightRequest="2"></Line>
                                    </StackLayout>
                                <ScrollView Grid.Row="3">
                                    <StackLayout  VerticalOptions="StartAndExpand" HorizontalOptions="StartAndExpand" Orientation="Vertical">

                                        <Label Margin="0,0,0,0" VerticalOptions="StartAndExpand" HorizontalOptions="StartAndExpand"    Text="{x:Static resources:AppResources.CategorisedBy}"  Style="{StaticResource MenueLable}"></Label>

                                        <input:CheckBox Margin="-10,0,0,0" IsChecked="{Binding IsSelected}" Style="{StaticResource CheckBox}" Text="{x:Static resources:AppResources.Categorised_ByCheckBox1}"  Type="Check"   CheckChangedCommand="{Binding  Path=BindingContext.CheckBoxSelectionCommand, 
                                                            Source={x:Reference Name=entriesView}}"/>
                                        <input:CheckBox Margin="-10,0,0,0" Style="{StaticResource CheckBox}" IsChecked="{Binding IsSelected}" Text="{x:Static resources:AppResources.Categorised_ByCheckBox2}"  Type="Check"   CheckChangedCommand="{Binding  Path=BindingContext.CheckBoxSelectionCommand, 
                                                            Source={x:Reference Name=entriesView}}"/>
                                        <input:CheckBox Margin="-10,0,0,0" IsChecked="{Binding IsSelected}" Style="{StaticResource CheckBox}" Text="{x:Static resources:AppResources.Categorised_ByCheckBox3}" Type="Check"   CheckChangedCommand="{Binding  Path=BindingContext.CheckBoxSelectionCommand, 
                                                            Source={x:Reference Name=entriesView}}"/>
                                        <input:CheckBox Margin="-10,0,0,0" IsChecked="{Binding IsSelected}" Style="{StaticResource CheckBox}" Text="{x:Static resources:AppResources.Categorised_ByCheckBox4}" Type="Check"   CheckChangedCommand="{Binding  Path=BindingContext.CheckBoxSelectionCommand, 
                                                            Source={x:Reference Name=entriesView}}"/>


                                    </StackLayout>
                                </ScrollView>
                                   

                                </Grid>


                            </StackLayout>
 

Комментарии:

1. Вы пробовали ставить <RowDefinition Height="Auto" вместо <RowDefinition Height="3*" первого RowDefinition

2. Да, сэр ,Когда я пытаюсь поставить <Высота определения строки=»Авто»> в тот раз, когда она охватывает всю страницу, возникает эта ошибка . Но хочу ,чтобы Весь этот раздел был с автоматическим изменением размера, что я могу сделать . Пожалуйста, помогите мне .