Telerik Forums
UI for Xamarin Forum
0 answers
21 views
How i change all checkbox values to true from an event ??
<telerikDataControls:RadListView x:Name="InstructionsList"
                                                            IsPullToRefreshActive="False"
                                                            IsPullToRefreshEnabled="False" 
                                                            BackgroundColor="Transparent"
                                                                     VerticalScrollBarVisibility="Always"
                                                                     
                                                            GroupHeaderTapped="InstructionsList_GroupHeaderTapped"
                                                            NativeControlLoaded="InstructionsList_NativeControlLoaded">
                                      
                                        
                                        <telerikDataControls:RadListView.GroupDescriptors>
                                            <telerikListView:PropertyGroupDescriptor PropertyName="GroupDesc"/>
                                        </telerikDataControls:RadListView.GroupDescriptors>
                                        
                                        <telerikDataControls:RadListView.GroupHeaderTemplate>
                                            <DataTemplate>
                                                <Grid>
                                                    <Grid.ColumnDefinitions>
                                                        <ColumnDefinition Width="Auto" />
                                                        <ColumnDefinition Width="*" />
                                                        <ColumnDefinition Width="Auto" />
                                                    </Grid.ColumnDefinitions>
                                                    <Label Text="&#x25B8;" Grid.Column="2" Margin="8, 12, 0, 6" FontSize="50" TextColor="{Binding ., Converter={StaticResource EndInstructionsTabGroupHeaderColorConverter}}">
                                                            <Label.Triggers>
                                                                <DataTrigger TargetType="Label" Binding="{Binding IsExpanded}" Value="True">
                                                        <Setter Property="Text" Value="&#x25BE;" />
                                                        </DataTrigger>
                                                        </Label.Triggers>
                                                    </Label>
                                                    <Label Text="{Binding Key}" Grid.Column="1" TextColor="DarkGray" FontAttributes="Bold" VerticalOptions="Center" HorizontalOptions="StartAndExpand" Margin="0,0,0,10" FontSize="18">
                                                        <Label.GestureRecognizers>
                                                        <TapGestureRecognizer Tapped="OnInstructionGroupHeaderDoubleTap" NumberOfTapsRequired="2" CommandParameter="{Binding .}"/>
                                                        </Label.GestureRecognizers>
                                                    </Label>
                                                    <CheckBox x:Name ="ActionCheckBox" IsChecked="{Binding ., Converter={local:EndInstructionsTabGroupHeaderCheckBoxCheckStateConverter}}" CheckedChanged="TaskInstructionGroupItemCheckBox_CheckedChanged" Grid.Column="0" VerticalOptions="Center" HorizontalOptions="End" Color="DarkGray"/>
                                                </Grid>
                                            </DataTemplate>
                                        </telerikDataControls:RadListView.GroupHeaderTemplate>
                                        
                                        <telerikDataControls:RadListView.ItemTemplate>
                                            <DataTemplate>
                                                <telerikListView:ListViewTemplateCell>
                                                    <telerikListView:ListViewTemplateCell.View>
                                                        <telerikPrimitives:RadBorder BackgroundColor="LightBlue" Margin="5" CornerRadius="18" BorderColor="Black">
                                                            <StackLayout Orientation="Horizontal" Style="{StaticResource ListItem}" Padding="0">
                                                                <StackLayout Orientation="Vertical" HorizontalOptions="FillAndExpand" Spacing="0" Padding="0, 5">
                                                                    <StackLayout Orientation="Vertical" HorizontalOptions="FillAndExpand" Spacing="5" Padding="5">
 
                                                                        <StackLayout Orientation="Vertical" Margin="0,15,0,0" IsVisible="{Binding isTopListGeneralItem}">
 
                                                                            <Label IsVisible="{Binding isLabelVisible}" Text="{Binding Description}"  FontSize="16"/>
                                                                            
                                                                            <Frame Padding="0"
                                                                                   CornerRadius="5"
                                                                                   HorizontalOptions="FillAndExpand"
                                                                                   BackgroundColor="White"
                                                                                   IsVisible="{Binding isEntryVisible}">
                                                                                <tools:SelectableEntry TextColor="{StaticResource LightBlueColor}"
                                                                                   Text="{Binding Value}"
                                                                                   Keyboard="{Binding KeyboardTypeBasedOnTaskActionResultType}"
                                                                                   TextChanged= "SelectableEntry_TextChanged"
                                                                                   HorizontalOptions="FillAndExpand"
                                                                                   HorizontalTextAlignment="Start"
                                                                                   ReturnType="Done"
                                                                                   VerticalOptions="Center"
                                                                                />
                                                                            </Frame>
 
                                                                            <Picker
                                                                                IsVisible="{Binding isBooleanEntryVisible}"
                                                                                SelectedIndexChanged="Picker_SelectedIndexChanged"
                                                                                BackgroundColor="White"
                                                                                SelectedItem="{Binding Value}"
                                                                            >
                                                                                <Picker.ItemsSource>
                                                                                    <x:Array Type="{x:Type x:String}">
                                                                                        <x:String>True</x:String>
                                                                                        <x:String>False</x:String>
                                                                                    </x:Array>
                                                                                </Picker.ItemsSource>
                                                                            </Picker>
 
                                                                            <Picker
                                                                                IsVisible="{Binding isLookupTaskActionResult}"
                                                                                SelectedIndexChanged="TaskActionResultLookupValuePicker_SelectedIndexChanged"
                                                                                ItemsSource="{Binding TaskInstructionResultLookupValues}"
                                                                                ItemDisplayBinding="{Binding Value}"
                                                                                BackgroundColor="White"
                                                                                SelectedItem="{Binding TaskInstructionResultLookupValueSelectedItemBinding}"/>
 
                                                                            <Label Text="{x:Static resx:Resources.Observations}" FontSize="16" />
                                                                            
                                                                            <Frame Padding="0" CornerRadius="5" IsClippedToBounds="true" HorizontalOptions="FillAndExpand">
                                                                                <tools:SelectableEntry TextColor="Black"
                                                                                    HorizontalOptions="FillAndExpand"
                                                                                    HorizontalTextAlignment="Start"
                                                                                    VerticalOptions="Center"
                                                                                    Text="{Binding CommentsOfParentInstruction}"
                                                                                    ReturnType="Done"
                                                                                />
                                                                            </Frame>
                                                                            
                                                                            <StackLayout x:Name="EstimatedTime" Orientation="Horizontal">
                                                                                <Label Text="{x:Static resx:Resources.EstimatedTime}" Style="{StaticResource Info}" TextColor="Gray" FontSize="12" />
                                                                                <Label Text="{Binding EstimatedDurationOfParentInstruction}" Style="{StaticResource Info}" TextColor="Gray" FontSize="12" />
                                                                            </StackLayout>
                                                                            
                                                                        </StackLayout>
 
                                                                        <StackLayout IsVisible="{Binding isMeasure}">
                                                                            <Label Text="{Binding Description}" Style="{StaticResource MeasureListHeader}" />
                                                                        
                                                                            <StackLayout Orientation="Horizontal">
                                                                                <Label Text="{x:Static resx:Resources.Counterlbl}" Style="{StaticResource MeasureListDetail}" />
                                                                                <Label Text="{Binding MeasurementCounter}" Style="{StaticResource MeasureListDetail}" />
                                                                            </StackLayout>
                                                                    
                                                                            <StackLayout Orientation="Horizontal">
                                                                                <Label Text="{Binding Remarks}" Style="{StaticResource MeasureListDetail}" />
                                                                            </StackLayout>
                                                                        
                                                                            <StackLayout Orientation="Horizontal" HorizontalOptions="FillAndExpand" Padding="0, 0, 5, 0">
                                                                                <Frame Padding="0" CornerRadius="5" IsClippedToBounds="true" HorizontalOptions="FillAndExpand">
                                                                                    <tools:SelectableEntry TextColor="{StaticResource LightBlueColor}"
                                                                                                           Text="{Binding Value}"
                                                                                                           Keyboard="Numeric"
                                                                                                           IsVisible="{Binding isMeasure}"
                                                                                                           HorizontalOptions="FillAndExpand"
                                                                                                           HorizontalTextAlignment="center"
                                                                                                           VerticalOptions="Center" />
                                                                                </Frame>
                                                                                <Label Text="{Binding MeasurementUnit}" Style="{StaticResource MeasureListDetail}" VerticalOptions="Center" HorizontalOptions="End" />
                                                                            </StackLayout>
                                                                        </StackLayout>
                                                                        
                                                                    </StackLayout>
                                                                </StackLayout>
                                                            </StackLayout>
                                                        </telerikPrimitives:RadBorder>
                                                    </telerikListView:ListViewTemplateCell.View>
                                                </telerikListView:ListViewTemplateCell>
                                            </DataTemplate>
                                        </telerikDataControls:RadListView.ItemTemplate>
                                    </telerikDataControls:RadListView>
Ioannis
Top achievements
Rank 1
Iron
 asked on 15 Jan 2024
0 answers
27 views

Hi, after updating to telerik ui for xamarin 2023.3.1010 I am experiencing crashes in radlistview ListViewUserCommand ItemTap.

In my command I find the selected object in the bound list, and i set one of its flags. The problem occurs when the set triggers the onpropertychanged event of one of those flags, and then it fully crashes the app completely

Vlad
Top achievements
Rank 1
 asked on 15 Nov 2023
0 answers
90 views

I have a rad list and i use BindingContextChanged to change isVisible trueOrFalse based on some coditions but it returns me the list where some items have white space down and some other items the bottom margin cut the infos in half.

 

Ioannis
Top achievements
Rank 1
Iron
 asked on 26 Jul 2023
1 answer
88 views

Hello,

I am encountering an issue with the RadBorder control in Xamarin.Forms on iOS devices. The RadBorder control is not rendering correctly, and its properties such as Margin and CornerRadius are not being applied on iOS. I have tested the code on Android devices, where it functions as expected.

Here is a snippet of the XAML code that demonstrates the issue:

                            <telerikDataControls:RadListView x:Name="TaskList" 
                                                             Grid.Row="1"
                                                             IsItemSwipeEnabled="True"
                                                             ItemSwipeCompleted="TaskList_ItemSwipeCompleted"
                                                             SelectionChanged="TaskList_SelectionChanged"                                                   
                                                             SelectionMode="Single" 
                                                             SelectionGesture="Tap"            
                                                             SwipeOffset="50, 0, 50, 0" 
                                                             SwipeThreshold="10"
                                                             HeightRequest="30"
                                                             RefreshRequested="TaskList_RefreshRequested"
                                                             IsPullToRefreshActive="True"
                                                             IsPullToRefreshEnabled="True"
                                                             VerticalOptions="FillAndExpand"
                                                             BackgroundColor="LightGray" >
                                <telerikDataControls:RadListView.ItemTemplate >
                                    <DataTemplate>
                                        <telerikListView:ListViewTemplateCell >
                                            <telerikListView:ListViewTemplateCell.View>
                                                <Grid >
                                                    <telerikPrimitives:RadBorder BorderColor="#268ecd" Margin="3,6" BorderThickness="0" CornerRadius="18" >
                                                        <StackLayout Orientation="Horizontal" 
                                                                 Style="{StaticResource ListItem}" 
                                                                 VerticalOptions="FillAndExpand" 
                                                                 Padding="0" 
                                                                 BackgroundColor="White">
                                                            <BoxView BackgroundColor="{Binding CriticalityColors}" WidthRequest="7" HeightRequest="10" HorizontalOptions="Start"/>
                                                            <StackLayout Orientation="Vertical" HorizontalOptions="FillAndExpand" Spacing="0" Padding="0, 15">
                                                                <StackLayout Orientation="Vertical" HorizontalOptions="StartAndExpand" Spacing="5">
                                                                    <Label Text="{Binding TaskLabel}" Style="{StaticResource ListHeader}" TextColor="{StaticResource LightBlueColor}" />
                                                                    <Label Text="{Binding TargetLabel}" Style="{StaticResource ListInfo}" TextColor="{StaticResource GreyColor}" />
                                                                </StackLayout>
                                                                <StackLayout Orientation="Horizontal" HorizontalOptions="FillAndExpand" Spacing="5">
                                                                    <Label Text="{Binding CategoryDesc}" Style="{StaticResource ListInfo}" IsVisible="True" TextColor="{StaticResource GreyColor}" Padding="0, 5" HorizontalOptions="StartAndExpand"/>
                                                                    <Label x:Name="DesComplLbl" Text="{Binding DesComplDateParenthesis}" Style="{StaticResource ListInfo}" IsVisible="False" BindingContextChanged="DesComplLbl_BindingContextChanged" HorizontalOptions="End"  Padding="0, 5"/>
                                                                </StackLayout>
                                                            </StackLayout>
                                                            <Image x:Name="statusImg" HorizontalOptions="End" Source="{Binding StatusImage}" Margin="0,0,0,10"/>
                                                        </StackLayout>
                                                    </telerikPrimitives:RadBorder>
                                                </Grid>
                                            </telerikListView:ListViewTemplateCell.View>
                                        </telerikListView:ListViewTemplateCell>
                                    </DataTemplate>
                                </telerikDataControls:RadListView.ItemTemplate>
                                <telerikDataControls:RadListView.ItemSwipeContentTemplate>

I have also provided below the Expected Output (Android) and the Incorrect Output (iOS)

Also there is an other issue for the IOS that when i Load the List for the first time the spacing behaves irregularly but after i refresh it the spacing returns to normal 

I would appreciate any guidance or assistance in resolving this problem. Please let me know if you need any additional information or code samples.

Thank you for your support.
0 answers
85 views

The RadSideDrawer Drawer content is not fully visible for Android Low resolution devices. With the below same code for iOS there is not problem for any resolutions. And correct layout & incorrect layout snapshot also attached for the issue. Please help on this.

<Grid AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0,0,1,1" Margin="0,0,0,0" Grid.Row="1">
                        <telerikPrimitives:RadSideDrawer x:Name="drawer" HeightRequest="{Binding DisplayHeight}"
                                                        DrawerLocation="Bottom"
                                                        DrawerTransitionType="SlideInOnTop"
                                                        AreGesturesEnabled="True"
                                                        BackgroundColor="Transparent"
                                                        DrawerClosing="drawerClose" >
                            <!--telerikPrimitives:RadSideDrawer.HeightRequest>
                                        <OnPlatform x:TypeArguments="Thickness"
                                            iOS="16,6"
                                            Android="16,0,16,30">
                                        </OnPlatform>
                                    </-->
                            <telerikPrimitives:RadSideDrawer.MainContent AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0,0,1,1">
                                <Grid BackgroundColor="Transparent">
                                    <Grid.Margin>
                                        <OnPlatform x:TypeArguments="Thickness"
                                            iOS="16,0,16,73"
                                            Android="16,0,16,75">
                                        </OnPlatform>
                                    </Grid.Margin>
                                    <telerikDataControls:RadListView x:Name="listView" ItemTapped="ListView_ItemTapped"
                                        ItemsSource="{Binding UserDevices, Mode=TwoWay}" NativeControlLoaded="RadListView_NativeControlLoaded"
                                        NativeControlUnloaded="RadListView_NativeControlUnloaded" BackgroundColor="Transparent"
                                        ItemTemplate="{StaticResource ListViewItemTemplate}"
                                        IsLoadOnDemandEnabled="True" LoadOnDemandMode="Automatic"
                                        GroupHeaderTemplate="{StaticResource ListViewGroupHeaderTemplate}"
                                        GroupHeaderStyle="{StaticResource ListViewGroupHeaderStyle}">

                                        <telerikDataControls:RadListView.GroupDescriptors>
                                            <telerikListView:PropertyGroupDescriptor PropertyName="CategoryText" SortOrder="Ascending"/>
                                        </telerikDataControls:RadListView.GroupDescriptors>

                                        <telerikDataControls:RadListView.LayoutDefinition>
                                            <telerikListView:ListViewGridLayout HorizontalItemSpacing="7" SpanCount="2" VerticalItemSpacing="7" ItemLength="104"/>
                                        </telerikDataControls:RadListView.LayoutDefinition>

                                        <telerikDataControls:RadListView.SelectedItemStyle>
                                            <telerikListView:ListViewItemStyle BackgroundColor="#FFE8E8E8" 
                                                                               BorderColor="#FFFFFFFF" />
                                        </telerikDataControls:RadListView.SelectedItemStyle>
                                    </telerikDataControls:RadListView>

                                    <telerikPrimitives:RadBusyIndicator x:Name="BusyIndicator"
                                                AnimationContentHeightRequest="100"
                                                AnimationContentWidthRequest="100"
                                                AnimationType="Animation9"
                                                InputTransparent="{Binding IsNotBusy}"
                                                AnimationContentColor="DarkSlateGray"
                                                IsBusy="{Binding IsBusy}" >

                                                <controls:RadBusyIndicator.Animations>
                                                <common:RadDoubleAnimation  Easing="Linear"
                                                                            PropertyPath="Rotation"
                                                                            RepeatForever="True"
                                                                            Target="{Reference Name=image}"
                                                                            From="0"
                                                                            To="360" />
                                                </controls:RadBusyIndicator.Animations>
                                                <controls:RadBusyIndicator.BusyContent>
                                                    <Image x:Name="image"
                                                            HeightRequest="200"
                                                            HorizontalOptions="Center"
                                                            VerticalOptions="Center"
                                                            WidthRequest="200">
                                                    </Image>
                                                </controls:RadBusyIndicator.BusyContent>
                                    </telerikPrimitives:RadBusyIndicator>
                                </Grid>
                            </telerikPrimitives:RadSideDrawer.MainContent>
                            <telerikPrimitives:RadSideDrawer.DrawerContent AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0,0,1,1">
                                <Grid>
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="60"/>
                                        <RowDefinition Height="Auto"/>
                                        <RowDefinition Height="Auto"/>
                                    </Grid.RowDefinitions>
                                    <Grid.Margin>
                                        <OnPlatform x:TypeArguments="Thickness"
                                            Android="0,0,0,28">
                                            <!--iOS="0,0,0,40"-->
                                        </OnPlatform>
                                    </Grid.Margin>
                                    <StackLayout Orientation="Horizontal" BackgroundColor="#EDECE8" HorizontalOptions="FillAndExpand" Grid.Row="0"
                                                    VerticalOptions="CenterAndExpand" Opacity="0.9" Focused="drawerClose" IsTabStop="False">
                                        <StackLayout HorizontalOptions="StartAndExpand" Orientation="Horizontal" >
                                            <ImageButton x:Name="deviceIcon" Source="Blind_1.png" VerticalOptions="Center" HorizontalOptions="Center" Margin="10,10,0,10" HeightRequest="40" WidthRequest="40" Clicked="EditDevice_Clicked" BackgroundColor="Transparent"/>
                                            <StackLayout Orientation="Vertical" VerticalOptions="CenterAndExpand" HorizontalOptions="FillAndExpand">
                                                <Label x:Name="deviceName" Text="" FontAttributes="Bold" FontSize="17" TextColor="Black" Margin="0,2,0,0" LineBreakMode="NoWrap"/>
                                                <Label x:Name="deviceStatus" Text="50%" FontAttributes="None" FontSize="14" TextColor="#676767" Margin="0,-7"/>
                                                <Label x:Name="deviceRoomName" Text="" FontAttributes="None" FontSize="12" TextColor="#676767" Margin="0,0,0,0" />
                                            </StackLayout>
                                        </StackLayout>
                                        <StackLayout HorizontalOptions="EndAndExpand" TranslationX="40" x:Name="editImageButton">
                                            <Grid>

                                                <AbsoluteLayout Grid.Column="0">
                                                    <ImageButton Source="edit.png" BackgroundColor="Transparent" HorizontalOptions="EndAndExpand" VerticalOptions="CenterAndExpand" Margin="27,18,0,0"
                                                    Grid.Column="0" Grid.Row="0" Clicked="EditDevice_Clicked" WidthRequest="24" HeightRequest="24" />
                                                </AbsoluteLayout>
                                                <AbsoluteLayout Grid.Column="0">
                                                    <ImageButton CommandParameter="{Binding .}" Clicked="EditDevice_Clicked" BackgroundColor="Transparent" WidthRequest="50" HeightRequest="60" 
                                                    Grid.Column="0" Grid.Row="0" AbsoluteLayout.LayoutBounds="1,0,50,60"  AbsoluteLayout.LayoutFlags="PositionProportional" HorizontalOptions="EndAndExpand"
                                                                VerticalOptions="CenterAndExpand" Margin="0,0,0,0" />
                                                </AbsoluteLayout>
                                            </Grid>
                                        </StackLayout>
                                        <StackLayout HorizontalOptions="EndAndExpand">
                                            <Grid>
                                                <AbsoluteLayout Grid.Column="0">
                                                    <ImageButton Source="cancel.png" BackgroundColor="Transparent" HorizontalOptions="EndAndExpand" VerticalOptions="CenterAndExpand" Margin="7,18,0,0"
                                                    Grid.Column="0" Grid.Row="0" Clicked="drawerClose" WidthRequest="24" HeightRequest="24" />
                                                </AbsoluteLayout>
                                                <AbsoluteLayout Grid.Column="0">
                                                    <ImageButton CommandParameter="{Binding .}" Clicked="drawerClose" BackgroundColor="Transparent" WidthRequest="50" HeightRequest="60" 
                                                    Grid.Column="0" Grid.Row="0" AbsoluteLayout.LayoutBounds="1,0,50,60"  AbsoluteLayout.LayoutFlags="PositionProportional" HorizontalOptions="EndAndExpand"
                                                                VerticalOptions="CenterAndExpand" Margin="0,0,0,0" />
                                                </AbsoluteLayout>
                                            </Grid>
                                        </StackLayout>
                                    </StackLayout>

                                    <StackLayout x:Name="bottomSlidePanel" Margin="0,-6,0,-9" Opacity="1" BackgroundColor="White" Grid.Row="1"/>

                                    <StackLayout x:Name="slideBottomSection" Orientation="Vertical" BackgroundColor="Transparent" Grid.Row="2" Margin="0,2,0,0" VerticalOptions="EndAndExpand">
                                        <Label x:Name="lblGray" BackgroundColor="#E5E4DF" HorizontalOptions="FillAndExpand" HeightRequest="32" Opacity="0.9" />
                                        <StackLayout  x:Name="stacFavSet" Orientation="Horizontal" VerticalOptions="Center" Opacity="1" BackgroundColor="White" Margin="0,-6" HeightRequest="44">
                                            <Label Text="{translate:Translate Favorite}" TextColor="Black" FontSize="17" FontAttributes="None" VerticalOptions="CenterAndExpand" Margin="25,-6,0,-6"/>
                                            <Switch x:Name="favSet" Style="{StaticResource SwitchStyle}" Toggled="Fav_ButtonClicked"/>
                                        </StackLayout>

                                        <StackLayout Orientation="Vertical" VerticalOptions="Center" Opacity="1" BackgroundColor="White" HeightRequest="44">
                                            <Button Text="{translate:Translate Edit}" Clicked="EditDevice_Clicked" Focused="EditDevice_Clicked" Style="{StaticResource GoldButton}"/>
                                        </StackLayout>
                                    </StackLayout>
                                </Grid>
                            </telerikPrimitives:RadSideDrawer.DrawerContent>
                        </telerikPrimitives:RadSideDrawer>
                                            </Grid>

Thanks                                                         
Sujit
Top achievements
Rank 1
 asked on 29 Jun 2023
1 answer
318 views

Hello Support,

We are using RadListView and RadDataGrid controls in our UWP and iOS applications. On these controls we observed there is a lag when we scroll fast, this lag is with the control's default scroll  Please see attached video (UWP_without_scrollview.mp4 and iOS_without_scrollview.mp4) for our UWP and iOS applications, you will see the white space when scrolling very fast.   

Further, we tried adding Xamarin's ScrollView over the RadListView and RadDataGrid controls, with this we do not see the lag when scrolling fast (see attached video UWP_with_scrollview.mp4 and iOS_with_scrollview.mp4).

In the documention for the RadListView and RadDataGrid controls, (refernce https://docs.telerik.com/devtools/xamarin/controls/listview/listview-getting-started#:~:text=Telerik.XamarinForms.DataControls%22-,WARNING,-%3A%20RadListView%20control%20provides), it is mentioned that if we add Scrollview to these controls, it would have issue withe the UI Virtulization or Gesture Mechanism. Kindly let us know if can continue using Xamarian ScrollView with the RadListView and RadDataGrid controls?

Also please let us know if there is any other way to get around the lagging issue with using the the RadListView and RadDataGrid default Scroll.

Didi
Telerik team
 answered on 14 Nov 2022
1 answer
133 views

We’re seeing layout issues with RadListView on iOS 16 resulting in unexpected space and padding in the list.

iOS 15 and below is unaffected. Screenshots below. The issue appears to resolve on a subsequent measure/layout, it just shows on the initial layout.

Repro’d using latest Telerik for Xamarin release.

Didi
Telerik team
 answered on 14 Oct 2022
1 answer
75 views

When I tap on the RadComboBox arrow in listview it gives the below exception. Kindly help

event registration is overwriting existing delegate. either just use events or your own delegate: xamarin.forms.platform.ios.listviewrenderer+listviewdatasource uikit.uiscrollview+_uiscrollviewdelegate

Didi
Telerik team
 answered on 10 Oct 2022
1 answer
114 views

Hi there,

We use a Radlistview to show a series of items with prices and a +/- to change the amount. We have made those items swipeable, so the user can easily swipe those items away to delete them. See example below (sensitive information is censored):

However, even when users do not swipe the item to the right, they can not interact with the minus button. This seems to be because the button is in the swipeable area. If we make the swipeable area smaller, some of the minus button is interactable, and if we make it larger, the plus button also stops being interactable.

Note that the minus button can't be interacted with even if the button is visible.

 

 

Is this design as intended, or is this a bug? If it is intended, what is the recommended way to allow the button to be interacted with, while also allowing the list item to be swiped?


The code used for this is:
<ContentPage
    xmlns:telerikDataControls="clr-namespace:Telerik.XamarinForms.DataControls;assembly=Telerik.XamarinForms.DataControls"
    xmlns:telerikInput="clr-namespace:Telerik.XamarinForms.Input;assembly=Telerik.XamarinForms.Input"
    xmlns:telerikListView="clr-namespace:Telerik.XamarinForms.DataControls.ListView;assembly=Telerik.XamarinForms.DataControls"
    xmlns:telerikPrimitives="clr-namespace:Telerik.XamarinForms.Primitives;assembly=Telerik.XamarinForms.Primitives"
    xmlns:xct="http://xamarin.com/schemas/2020/toolkit">

<telerikDataControls:RadListView
                    Grid.Row="0"
                    IsItemSwipeEnabled="True"
                    ItemTemplateSelector="{StaticResource ReceiptDataSelector}"
                    ItemsSource="{Binding Receipt.ReceiptLines}"
                    SelectedItems="{Binding SelectedReceiptLines}"
                    SelectionMode="Multiple"
                    SwipeOffset="90, 0, 0, 0"
                    SwipeThreshold="20">
                    <telerikDataControls:RadListView.SelectedItemStyle>
                        <telerikListView:ListViewItemStyle BackgroundColor="{StaticResource SelectionAccentColor}" BorderWidth="0" />
                    </telerikDataControls:RadListView.SelectedItemStyle>
                    <telerikDataControls:RadListView.ItemSwipeContentTemplate>
                        <DataTemplate x:DataType="components:IReceiptLine">
                            <Grid
                                Margin="0"
                                Padding="0"
                                ColumnSpacing="0"
                                RowSpacing="0">
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="90" />
                                    <ColumnDefinition Width="*" />
                                </Grid.ColumnDefinitions>
                                <telerikInput:RadButton
                                    Grid.Column="0"
                                    Margin="0"
                                    BackgroundColor="Red"
                                    BorderRadius="0"
                                    Command="{Binding RemoveLineCommand, Source={RelativeSource AncestorType={x:Type local:SalePageModel}}}"
                                    CommandParameter="{Binding}"
                                    FontFamily="FontAwesomeSolid"
                                    FontSize="Medium"
                                    Text="&#xf1f8;"
                                    WidthRequest="90" />
                            </Grid>
                        </DataTemplate>
                    </telerikDataControls:RadListView.ItemSwipeContentTemplate>
                </telerikDataControls:RadListView>

code is:

 

Didi
Telerik team
 answered on 22 Sep 2022
0 answers
66 views

Hi,

I have a Xamarin Forms application using RadListView. As part of the ItemTemplate I have a Switch as described below:

<Switch
                HorizontalOptions="Start"
                IsEnabled="True"
                IsToggled="{Binding Toggle}"
                IsVisible="{Binding IsConfirmCheckVisible}"
                OnColor="Green"
                ThumbColor="Green">
                <Switch.Triggers>
                    <DataTrigger
                        Binding="{Binding Source={x:Reference chkConfirmCheck}, Path=IsToggled}"
                        TargetType="Switch"
                        Value="False">
                        <Setter Property="ThumbColor" Value="Red" />
                        <Setter Property="OnColor" Value="Red" />
                        <Setter Property="IsEnabled" Value="False" />
                    </DataTrigger>
                </Switch.Triggers>
                <Switch.Behaviors>
                    <behaviors:EventToCommandBehavior
                        Command="{Binding Source={x:Reference ParentBindingContext}, Path=BindingContext.UpdateTrickCommand}"
                        CommandParameter="{Binding .}"
                        EventName="Toggled" />
                </Switch.Behaviors>
            </Switch>

If I have a list of items in the RadListView and I start to scroll, then the Toggled event is fired on the Switch. All items for the RadListView is an ObservableCollection and it is loaded when the screen is opened. Is there an issue with the code above that would cause the Toggled event to be fired upon scrolling in a RadListView? This issue only appears on iOS and on a Phone. The iPad and Android devices behave as it's supposed to i.e. Just scrolls as normal and does not fire the Toggle event.

 Telerik UI For Xamarin Version: 2022.1.117.1
Nivesh
Top achievements
Rank 1
 updated question on 20 Sep 2022
Top users last month
Dominik
Top achievements
Rank 1
Giuliano
Top achievements
Rank 1
Dominic
Top achievements
Rank 1
Glendys
Top achievements
Rank 1
NoobMaster
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?