I currently have this issue in my CollectionView
.
I have a grouped list displayed in my app, when the screen rotates the items that are not visible are changed to the right width but not the ones visible. What could be the best approach to fix this without the need of refreshing the whole page?
Code:
<RelativeLayout BackgroundColor="Transparent"> <Label Margin="{StaticResource HeaderLabelMargin}" FontFamily="{DynamicResource MontserratBold}" FontSize="Medium" HorizontalTextAlignment="Center" IsVisible="{Binding IsListEmpty}" RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}" RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}" Text="{xt:Translate no_combos}" VerticalTextAlignment="Center" /> <CollectionView IsGrouped="True" IsVisible="{Binding IsListEmpty, Converter={xt:ValueBoolInverseConverter}}" ItemsSource="{Binding ComboList}" RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}" RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}" SelectionMode="None"> <CollectionView.Header> <StackLayout> <Label Margin="{StaticResource HeaderLabelMargin}" FontFamily="{DynamicResource MontserratBold}" FontSize="Medium" HorizontalOptions="Center" Text="{xt:Translate character_facing_right}" /> <Picker /> </StackLayout> </CollectionView.Header> <CollectionView.GroupHeaderTemplate> <DataTemplate x:DataType="models:ComboCategoryView"> <StackLayout> <sfBorder:SfBorder Margin="{StaticResource HeaderBorderMargin}" BackgroundColor="{StaticResource AccentColor}" BorderColor="{StaticResource ButtonBorderColor}" BorderWidth="{StaticResource HeaderBorderWidth}" CornerRadius="{StaticResource HeaderBorderCornerRadius}"> <Label Margin="{StaticResource StandardSpacing}" FontFamily="{DynamicResource MontserratBoldItalic}" FontSize="Medium" Text="{Binding Category}" /> </sfBorder:SfBorder> </StackLayout> </DataTemplate> </CollectionView.GroupHeaderTemplate> <CollectionView.ItemTemplate> <DataTemplate x:DataType="models:ComboView"> <controls:ComboItem Title="{Binding Title}" Combo="{Binding Combo}" Comment="{Binding Comment}" IsStock="{Binding IsStock}" Type="{Binding Type}" UniqueId="{Binding UniqueId}" /> </DataTemplate> </CollectionView.ItemTemplate> <CollectionView.Footer> <ContentView Margin="{StaticResource FooterSpacing}" /> </CollectionView.Footer> <CollectionView.EmptyView> <StackLayout> <Label Margin="{StaticResource HeaderLabelMargin}" FontSize="Medium" HorizontalOptions="Center" Text="{xt:Translate no_combos}" /> </StackLayout> </CollectionView.EmptyView> </CollectionView> <sfBorder:SfBorder Margin="{StaticResource StandardSpacing}" BackgroundColor="{StaticResource PrimaryColor}" BorderColor="{StaticResource ButtonBorderColor}" BorderWidth="{StaticResource ButtonBorderWidth}" CornerRadius="{StaticResource ButtonBorderRadius}" RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1, Constant={StaticResource ButtonRelativeConstant}}" RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1, Constant={StaticResource ButtonRelativeConstant}}"> <Button BackgroundColor="Transparent" Clicked="Handle_AddCombo_Clicked" FontSize="Large" HeightRequest="{StaticResource ButtonSize}" Text="+" TextColor="{StaticResource MainTextColor}" WidthRequest="{StaticResource ButtonSize}" /> </sfBorder:SfBorder> <sfBusyInd:SfBusyIndicator AnimationType="Box" IsVisible="{Binding IsBusy}" RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}" RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}" ViewBoxHeight="{StaticResource IndicatorSize}" ViewBoxWidth="{StaticResource IndicatorSize}" /> </RelativeLayout>