Declined
Last Updated: 16 Sep 2019 07:49 by ADMIN
Created by: Carlos
Comments: 2
Category: Map
Type: Feature Request
1

Dear,
It would be interesting if the map control could read a shapefile or kml file and visualize the shapes, besides exporting the modifications of the map (shapes) to a shp format.

 

Best regards.

Carlos Palomino
Declined
Last Updated: 19 Aug 2019 09:29 by ADMIN

Hi,

I have been using Telerik controls for the last 4 years in WPF.  One of the controls widely used is the RadScheduleView in which I manage customer appointments in hair dresser salons.  Recently I tried to implement the same functionality on Mobile Apps using Xamarin.

 

Some of the appointments generated by users contain overlapping times since they are serviced by different employees.  This functionality in WPF is managed perfectly using RadScheduleView.  Now I am using the same data by downloading it into a MobileApp (for now Android App) and reproducing similar appointments but on RadCalendar.  Every time an appointment have overlaps, the way system is recreating it on the calendar is misleading and sometimes appointments are also hidden.

 

The following is a Code snippet that also produce the same results.

Steps to reproduce:

 1. Appointment View module that inherits from Telerik.XamarinForms.Input.Appointment and add additional properties to manage appointments:


 public class AppointmentViewModel : Telerik.XamarinForms.Input.Appointment
    {
        public Int32 PK { get; set; } = -1;
        public String DisplayStartTime
        {
            get
            {
                return StartDate.ToString("HH:mm");
            }
        }
        public String DisplayEndTime
        {
            get
            {
                return EndDate.ToString("HH:mm");
            }
        }
        public double AppointmentDate
        {
            get
            {
                return StartDate.Date.ToOADate();
            }
        }

        public string AppointmentDisplayDate
        {
            get
            {
                return StartDate.Date.ToString("ddd dd MMM");
            }
        }
    }

Note:  To render appointments, I am still using default properties of the class  Telerik.XamarinForms.Input.Appointment,  see point 3.

 

 2. Create Page (XAML) with calendar and a refresh button:


<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:telerikPrimitives="clr-namespace:Telerik.XamarinForms.Primitives;assembly=Telerik.XamarinForms.Primitives"
             xmlns:zxing="clr-namespace:ZXing.Net.Mobile.Forms;assembly=ZXing.Net.Mobile.Forms"
             xmlns:telerikInput="clr-namespace:Telerik.XamarinForms.Input;assembly=Telerik.XamarinForms.Input"
             xmlns:telerikGrid="clr-namespace:Telerik.XamarinForms.DataGrid;assembly=Telerik.XamarinForms.DataGrid"
             xmlns:helper="clr-namespace:ProductManager.Helper_Code"
             xmlns:telerikDataControls="clr-namespace:Telerik.XamarinForms.DataControls;assembly=Telerik.XamarinForms.DataControls"
             xmlns:telerikListView="clr-namespace:Telerik.XamarinForms.DataControls.ListView;assembly=Telerik.XamarinForms.DataControls"
             x:Class="ProductManager.Pages.pgAppointments" Appearing="ContentPage_Appearing" Disappearing="ContentPage_Disappearing" >
    <ContentPage.Content>
		<Gride HorizontalOptions="Fill" VerticalOptions="Fill" Margin="0,0">
			<Grid.ColumnDefinitions>
				<ColumnDefinition Width="*"/>
			</Grid.ColumnDefinitions>
			<Grid.RowDefinitions>
				<RowDefinition Height="*" />
				<RowDefinition Height="Auto" />
			</Grid.RowDefinitions>
			
			 <telerikInput:RadCalendar x:Name="cntAppoints"
				Grid.Row="0"
				VerticalOptions="Fill" HorizontalOptions="Fill"
				GridLinesDisplayMode="Show" 
				ViewMode="Day"
				 DisplayDateChanged="CntAppoints_DisplayDateChanged"   
				SelectionMode="Single" SelectionChanged="CntAppoints_SelectionChanged" 
				NativeControlLoaded="CntAppoints_NativeControlLoaded"  
				TimeSlotTapped="CntAppoints_TimeSlotTapped"
				ViewChanged="CntAppoints_ViewChanged" CellTapped="CntAppoints_CellTapped" 
				SchedulingUiEnabled="True" AppointmentTapped="CntAppoints_AppointmentTapped"                  >
				<telerikInput:RadCalendar.DayViewSettings>
					<telerikInput:DayViewSettings DayStartTime="00:00:00"
									  DayEndTime="23:40:00"
									  TimelineInterval="15"  />
				</telerikInput:RadCalendar.DayViewSettings>
				<telerikInput:RadCalendar.DayViewStyle>
					<telerikInput:DayViewStyle  
					   
									   AllDayAppointmentFontSize="10"
									   TimelineLabelsTextColor="DarkGray"
									   TimelineLabelsFontSize="10"
									   AppointmentFontSize="10" 
									   AppointmentDetailsFontSize="8"/>
				</telerikInput:RadCalendar.DayViewStyle>
				<telerikInput:RadCalendar.MultiDayViewSettings>
					<telerikInput:MultiDayViewSettings DayStartTime="00:00:00"
									  DayEndTime="23:40:00"
									  TimelineInterval="15"  />
				</telerikInput:RadCalendar.MultiDayViewSettings>
				<telerikInput:RadCalendar.MultiDayViewStyle>
					<telerikInput:MultiDayViewStyle
					   
									   AllDayAppointmentFontSize="10"
									   TimelineLabelsTextColor="DarkGray"
									   TimelineLabelsFontSize="10"
									   AppointmentFontSize="10" 
									   AppointmentDetailsFontSize="8"/>
				</telerikInput:RadCalendar.MultiDayViewStyle>
			</telerikInput:RadCalendar>
			 <telerikInput:RadButton x:Name="btnRefresh" 
							Clicked="BtnRefresh_Clicked" HorizontalContentAlignment="End" VerticalContentAlignment="Center"
							HorizontalOptions="Center" VerticalOptions="Center"  
							BackgroundColor="Transparent"
							Grid.Row="1" Text="Refresh" />
		</Grid>
    </ContentPage.Content>
</ContentPage>
		


 

3. Code Behind the Refresh Button :


       private void BtnRefresh_Clicked(object sender, EventArgs e)
        {

            cntAppoints.DisplayDate = DateTime.Parse("11/05/2019");

            ObservableCollection<AppointmentViewModel> apps = new ObservableCollection<AppointmentViewModel>() {
                    new AppointmentViewModel()
                        {
                            PK =1,
                            Title="Customer 1",
                            StartDate=DateTime.Parse("2019-05-11T08:00:00"),
                            EndDate=DateTime.Parse("2019-05-11T08:45:00"),
                            Detail="Station: Station 1"
                        },
                    new AppointmentViewModel()
                        {
                            PK =2,
                            Title="Customer 2",
                            StartDate=DateTime.Parse("2019-05-11T08:00:00"),
                            EndDate=DateTime.Parse("2019-05-11T18:00:00"),
                            Detail="Station: STATION 3",
                            IsAllDay=true
                        },
                    new AppointmentViewModel()
                        {
                            PK =3,
                            Title="Customer 3",
                            StartDate=DateTime.Parse("2019-05-11T08:00:00"),
                            EndDate=DateTime.Parse("2019-05-11T08:30:00"),
                            Detail="Station: STATION 4"
                        },
                    new AppointmentViewModel()
                        {
                            PK =4,
                            Title="Customer 4",
                            StartDate=DateTime.Parse("2019-05-11T08:30:00"),
                            EndDate=DateTime.Parse("2019-05-11T08:45:00"),
                            Detail="Station: STATION 4"
                        },
                    new AppointmentViewModel()
                        {
                            PK =5,
                            Title="Customer 5",
                            StartDate=DateTime.Parse("2019-05-11T09:00:00"),
                            EndDate=DateTime.Parse("2019-05-11T09:30:00"),
                            Detail="Station: Station 1"
                        },
                    new AppointmentViewModel()
                        {
                            PK =6,
                            Title="Customer 6",
                            StartDate=DateTime.Parse("2019-05-11T09:00:00"),
                            EndDate=DateTime.Parse("2019-05-11T09:15:00"),
                            Detail="Station: STATION 4"
                        },
                    new AppointmentViewModel()
                        {
                            PK =7,
                            Title="Customer 7",
                            StartDate=DateTime.Parse("2019-05-11T09:15:00"),
                            EndDate=DateTime.Parse("2019-05-11T10:00:00"),
                            Detail="Station: Station 1"
                        },
                    new AppointmentViewModel()
                        {
                            PK =8,
                            Title="Customer 8",
                            StartDate=DateTime.Parse("2019-05-11T09:30:00"),
                            EndDate=DateTime.Parse("2019-05-11T09:45:00"),
                            Detail="Station: Station 1"
                        },
                    new AppointmentViewModel()
                        {
                            PK =9,
                            Title="Customer 9",
                            StartDate=DateTime.Parse("2019-05-11T09:45:00"),
                            EndDate=DateTime.Parse("2019-05-11T10:30:00"),
                            Detail="Station: Station 1"
                        },
                    new AppointmentViewModel()
                                        {
                            PK =10,
                            Title="Customer 10",
                            StartDate=DateTime.Parse("2019-05-11T10:00:00"),
                            EndDate=DateTime.Parse("2019-05-11T10:30:00"),
                            Detail="Station: STATION 4"
                        },
                    new AppointmentViewModel()
                        {
                            PK =11,
                            Title="Customer 11",
                            StartDate=DateTime.Parse("2019-05-11T11:30:00"),
                            EndDate=DateTime.Parse("2019-05-11T12:15:00"),
                            Detail="Station: Station 1"
                        },
                    new AppointmentViewModel()
                        {
                            PK =12,
                            Title="Customer 12",
                            StartDate=DateTime.Parse("2019-05-11T12:00:00"),
                            EndDate=DateTime.Parse("2019-05-11T12:45:00"),
                            Detail="Station: STATION 4"
                        },
                    new AppointmentViewModel()
                        {
                            PK =13,
                            Title="Customer 13",
                            StartDate=DateTime.Parse("2019-05-11T12:30:00"),
                            EndDate=DateTime.Parse("2019-05-11T13:15:00"),
                            Detail="Station: Station 1"
                        },
                    new AppointmentViewModel()
                        {
                            PK =14,
                            Title="Customer 14",
                            StartDate=DateTime.Parse("2019-05-11T12:30:00"),
                            EndDate=DateTime.Parse("2019-05-11T13:00:00"),
                            Detail="Station: STATION 4"
                        },
                    new AppointmentViewModel()
                        {
                            PK =15,
                            Title="Customer 15",
                            StartDate=DateTime.Parse("2019-05-11T13:00:00"),
                            EndDate=DateTime.Parse("2019-05-11T13:15:00"),
                            Detail="Station: STATION 2"
                        },
                    new AppointmentViewModel()
                        {
                            PK =16,
                            Title="Customer 16",
                            StartDate=DateTime.Parse("2019-05-11T13:15:00"),
                            EndDate=DateTime.Parse("2019-05-11T13:30:00"),
                            Detail="Station: Station 1"
                        },
                    new AppointmentViewModel()
                        {
                            PK =17,
                            Title="Customer 17",
                            StartDate=DateTime.Parse("2019-05-11T13:15:00"),
                            EndDate=DateTime.Parse("2019-05-11T13:30:00"),
                            Detail="Station: STATION 4"
                        },
                    new AppointmentViewModel()
                                        {
                            PK =18,
                            Title="Customer 18",
                            StartDate=DateTime.Parse("2019-05-11T13:30:00"),
                            EndDate=DateTime.Parse("2019-05-11T14:00:00"),
                            Detail="Station: Station 1"
                        },
                    new AppointmentViewModel()
                        {
                            PK =19,
                            Title="Customer 19",
                            StartDate=DateTime.Parse("2019-05-11T13:30:00"),
                            EndDate=DateTime.Parse("2019-05-11T14:00:00"),
                            Detail="Station: STATION 4"
                        },
                    new AppointmentViewModel()
                        {
                            PK =20,
                            Title="Customer 20",
                            StartDate=DateTime.Parse("2019-05-11T14:00:00"),
                            EndDate=DateTime.Parse("2019-05-11T14:30:00"),
                            Detail="Station: Station 1"
                        },
                    new AppointmentViewModel()
                        {
                            PK =21,
                            Title="Customer 21",
                            StartDate=DateTime.Parse("2019-05-11T14:30:00"),
                            EndDate=DateTime.Parse("2019-05-11T15:00:00"),
                            Detail="Station: Station 1"
                        },
                    new AppointmentViewModel()
                        {
                            PK =22,
                            Title="Customer 22",
                            StartDate=DateTime.Parse("2019-05-11T14:30:00"),
                            EndDate=DateTime.Parse("2019-05-11T15:00:00"),
                            Detail="Station: STATION 4"
                        },
                    new AppointmentViewModel()
                        {
                            PK =23,
                            Title="Customer 23",
                            StartDate=DateTime.Parse("2019-05-11T15:00:00"),
                            EndDate=DateTime.Parse("2019-05-11T15:30:00"),
                            Detail="Station: Station 1"
                        },
                    new AppointmentViewModel()
                        {
                            PK =24,
                            Title="Customer 24",
                            StartDate=DateTime.Parse("2019-05-11T15:00:00"),
                            EndDate=DateTime.Parse("2019-05-11T15:45:00"),
                            Detail="Station: Station 1nServices: head massage and shampoo, short to medium blowdry"
                        },
                    new AppointmentViewModel()
                        {
                            PK =25,
                            Title="Customer 25",
                            StartDate=DateTime.Parse("2019-05-11T15:15:00"),
                            EndDate=DateTime.Parse("2019-05-11T15:30:00"),
                            Detail="Station: STATION 2"
                        },
                    new AppointmentViewModel()
                        {
                            PK =26,
                            Title="Customer 26",
                            StartDate=DateTime.Parse("2019-05-11T15:30:00"),
                            EndDate=DateTime.Parse("2019-05-11T16:00:00"),
                            Detail="Station: STATION 4"
                        },
                    new AppointmentViewModel()
                        {
                            PK =27,
                            Title="Customer 27",
                            StartDate=DateTime.Parse("2019-05-11T15:45:00"),
                            EndDate=DateTime.Parse("2019-05-11T16:15:00"),
                            Detail="Station: STATION 2"
                        },
                    new AppointmentViewModel()
                        {
                            PK =28,
                            Title="Customer 28",
                            StartDate=DateTime.Parse("2019-05-11T16:00:00"),
                            EndDate=DateTime.Parse("2019-05-11T16:30:00"),
                            Detail="Station: STATION 4"
                        },
                    new AppointmentViewModel()
                        {
                            PK =29,
                            Title="Customer 29",
                            StartDate=DateTime.Parse("2019-05-11T16:30:00"),
                            EndDate=DateTime.Parse("2019-05-11T16:45:00"),
                            Detail="Station: Station 1"
                        },
                    new AppointmentViewModel()
                        {
                            PK =30,
                            Title="Customer 30",
                            StartDate=DateTime.Parse("2019-05-11T16:45:00"),
                            EndDate=DateTime.Parse("2019-05-11T17:15:00"),
                            Detail="Station: Station 1"
                        },
                    new AppointmentViewModel()
                        {
                            PK =31,
                            Title="Customer 31",
                            StartDate=DateTime.Parse("2019-05-11T17:00:00"),
                            EndDate=DateTime.Parse("2019-05-11T17:30:00"),
                            Detail="Station: STATION 4"
                        },
                    new AppointmentViewModel()
                        {
                            PK =32,
                            Title="Customer 32",
                            StartDate=DateTime.Parse("2019-05-11T17:15:00"),
                            EndDate=DateTime.Parse("2019-05-11T17:45:00"),
                            Detail="Station: Station 1"
                        },
                    new AppointmentViewModel()
                    {
                        PK =33,
                        Title="Customer 33",
                        StartDate=DateTime.Parse("2019-05-11T17:15:00"),
                        EndDate=DateTime.Parse("2019-05-11T17:45:00"),
                        Detail="Station: STATION 4"
                    }

                };
          
            cntAppoints.AppointmentsSource = null;
            cntAppoints.AppointmentsSource = apps;
            //GetData(cntAppoints.DisplayDate);
            //expFilters.IsExpanded = false;
        }


 

4. After running the above code, the following issues are encountered when appointments are generated on the calendar (screens taken from original application):

  •  Customer_8.jpg - Appointment for Customer 8 is overlapping appointment with customer 7 when on calendar there is enough space in the other columns;
  •  Customer_14.jpg - Appointment for Customer 14 is overlapping appointment with customer 12.  Appointment for Customer 13 is hidden under Customer 14;
  • Customers_26_27_28.jpg - Appointments for Customers 26,27,28 are overlapping with appointment for customer 24 when on calendar their is ample space were to generate these appoints.
  • Customer_32.jpg - This is the worst scenario.   Appointments for Customer 32 and 33 are sharing the same time slot.  This appointments overlapping and users can only view appointment 33.

 

 

Can you please give me an indication what I am doing wrong in my code or how can avoid such cases.  The scenarios indicated above are misleading to the final users.  I notised that such tickets for similar issues where raised since 2017 but never finally answered. 

Declined
Last Updated: 09 Aug 2019 14:24 by ADMIN
Created by: Benjamin
Comments: 1
Category: UI for Xamarin
Type: Feature Request
0

It would be a good to have function to be able to swipe on the header and also to be able to swipe on the content area to go to next tab. 

 

This request is for iOS and Android

Declined
Last Updated: 08 Aug 2019 11:58 by ADMIN
Created by: Anthony
Comments: 3
Category: ListView
Type: Bug Report
0

Hi,

As the header suggests, Swipe No Longer Works When Offset And Threshold Are Equal, the swipe closes on finger release. This started happening in the latest release, 2019.2.619.1, previously this worked without issue.

This can be replicated in the SDKBrowser by setting the following in Cell Swipe - Interactive Content example:

SwipeOffset="70, 0, 0, 0"
SwipeThreshold="70"

I have only tested this on Android. 

Regards

Anthony 

 

Declined
Last Updated: 01 Aug 2019 12:16 by ADMIN
Created by: Collin
Comments: 1
Category: ConversationalUI
Type: Feature Request
0
Please add pull to refresh support for the conversational UI. I am aware that the the RadListView supports pull to refresh however the ChatListView implemented by the Conversational UI does not.  
Declined
Last Updated: 29 Jul 2019 14:36 by ADMIN

I would like to extend my XF project to Windows Presentation Framework (WPF) and MacOs when possible, both now supported by XF.

Request is that Telerik begin to include some work in these areas in its near-future roadmaps.

Declined
Last Updated: 24 Jul 2019 08:18 by ADMIN
Created by: Precise Developer
Comments: 3
Category: Entry
Type: Bug Report
0

Any version of Xamarin.Forms, the iOS version of the application crashes when attempting to apply a custom font "parameter descriptor cannot  be null"  

 

With this resource defined, and the OpenSans-Bold.ttf is in the Resources directory, marked as bundle resource...

<OnPlatform x:TypeArguments="x:String" x:Key="BoldFont">
    <On Platform="Android" Value="OpenSans-Bold.ttf#Open Sans" />
    <On Platform="iOS" Value="OpenSans-Bold" />
 </OnPlatform>


And using this code for the style (created from the Telerik login view template, with some modifications):

 


    <Style x:Key="LoginEntryStyle"
           TargetType="telerikInput:RadEntry">
        <Setter Property="TextColor"
                Value="{StaticResource DarkTextColor}" />
        <Setter Property="WatermarkTextColor"
                Value="{StaticResource LightBlueColor}" />
        <Setter Property="FontSize"
                Value="14" />
        <Setter Property="FontFamily"
                Value="{StaticResource BoldFont}" />
        <Setter Property="HeightRequest"
                Value="48" />
        <Setter Property="Margin"
                Value="0,0,0,16" />
        <Setter Property="BorderStyle">
            <Setter.Value>
                <telerikInput:BorderStyle BorderColor="{StaticResource LightBlueColor}"
                                          BorderThickness="1"
                                          CornerRadius="8" />
            </Setter.Value>
        </Setter>
    </Style>


Declined
Last Updated: 16 Jul 2019 09:57 by ADMIN
Created by: Mohamed
Comments: 1
Category: DataForm
Type: Bug Report
1

Please refer to the attached project that reproduces the issue. In the MainPage constructor, you can switch between using the PickerEditor (validation works) and the SegmentedEditor (validation doesn't work).

// Works with validation
dataForm.RegisterEditor("Location", EditorType.PickerEditor);
 
// Doesn't work with validation
//dataForm.RegisterEditor("Location", EditorType.SegmentedEditor);


This leads to other issues like the PropertyValidationCompleted event not firing.

Thank you,
Mohamed

Declined
Last Updated: 03 Jul 2019 14:44 by ADMIN
ADMIN
Created by: Pavel R. Pavlov
Comments: 15
Category: SideDrawer
Type: Feature Request
25
Currently only Views can be hosted in the MainContent. If users can host Pages the RadSideDrawer could be used as root navigation component. This will allow customers to define the RadSideDrawer once throughout the application.
Declined
Last Updated: 02 Jul 2019 08:25 by ADMIN
Created by: Safan
Comments: 1
Category: DataGrid
Type: Feature Request
7

Currently in 2019 R2 and earlier, the "options" button at the bottom of the filtering UI allows the user to rearrange and toggle the visibility of columns in the DataGrid.

I request to have a property or setting on the DataGrid or the DataGridColumn that will prevent the user from changing the visibility or ordering of columns. from that UI (just like you can prevent user filtering or user sorting)

Declined
Last Updated: 19 Jun 2019 10:35 by ADMIN
Created by: Uday
Comments: 1
Category: UI for Xamarin
Type: Feature Request
0

Hello Team,

 

 

                     Currently we are working with Telerik xamarin forms application,We are using radlistview.I want to scroll and select item with up and down arrow keys.Can we have any sample on this.

 

 

 

 

Thanks & regards

Uday raj

Declined
Last Updated: 07 Jun 2019 08:50 by ADMIN
TextCellTextColor property of the TreeViewItemStyle is not respected.
Declined
Last Updated: 14 May 2019 14:04 by ADMIN
RadButton Background color cannot be changed through Custom Renderer
Declined
Last Updated: 18 Apr 2019 14:39 by ADMIN
Created by: Shalin
Comments: 1
Category: UI for Xamarin
Type: Feature Request
0

Following swipe gesture not fired

<telerikInput:RadCalendar.GestureRecognizers>
               <SwipeGestureRecognizer Swiped="SwipeGestureRecognizer_Swiped" Threshold="10"/>
 </telerikInput:RadCalendar.GestureRecognizers>

when swiping left or right swipe gesture should detect it.

or

when swiping on Multiday calendar add ability to decide swipe how many days back and forth (a property)

 

 

 

 

Declined
Last Updated: 08 Apr 2019 07:11 by ADMIN
Created by: Stephanus van Staden
Comments: 2
Category: DataGrid
Type: Bug Report
0

 When defining a Date column like

<tdg:DataGridDateColumn PropertyName="ExpiryDate" HeaderText="Expiry"/>


and binding data with a type with Nullable datetime

public System.DateTime? ExpiryDate
{
   get { return _expiryDate; }
   set { SetProperty(ref _expiryDate, value); }
} 

We get an exception

 

Is there a workaround?

 

Thanks 

Declined
Last Updated: 03 Apr 2019 08:02 by ADMIN
Created by: Anthony
Comments: 2
Category: UI for Xamarin
Type: Feature Request
0

Hello ,

An Admin say me to explain a way to use a QrCode export in PDF .

So what we need ?

I use your RadBarcode to create a barcode so simple . But now this QrCode i want to get him as an imageStream and then use it on a PDFCreator .

For the moment i try to create a view with QrCode -> export this view as an Image -> change that image on ImageStream -> Use this ImageStream on PDfCreator .

I hope you understand me !

Sincerly,

 

Anthony Ranuuzzi

 

 

Declined
Last Updated: 12 Mar 2019 12:51 by ADMIN

As the subject:

Before upgrading to the latest version of Telerik Controls, the Drag/Drop functionality worked correctly but after upgrading the list no longer updates and the item moved returns back to the original position.

Not using "ReorderEnded", everything works fine but this is needed to detect that something has been moved. 

Declined
Last Updated: 02 Mar 2019 06:46 by Alejandro Genovesi

Hello!

When include a CheckBox inside a simple ListView (also with RadListView), and try implement the CheckBoxUserCommand Id="IsCheckedChanged" the control appears disabled.

I use MVVM and I need binding the checkedChanged Command to execute a custom operation related to specific row of the ListView; but, how can i know which element of the ListView affecting when checked  / unchecked the CheckBox. Here the code:

PD: Then prefix name of  <checkBoxComamnds:CheckBoxUserCommand>  is wrong, should be <checkBoxCommands: > (Error in word: Comamnds...)

XAML

<AbsoluteLayout BindingContext ="{Binding ViewModel}">      
        <ListView IsRefreshing="{Binding IsRefreshing, Mode=TwoWay}"
                ItemsSource="{Binding CalendarList}">
                <ListView.ItemTemplate>
                    <DataTemplate>
                       <ViewCell>
                            <Grid>
                                <Grid.RowDefinitions >
                                    <RowDefinition Height="Auto"/>
                                </Grid.RowDefinitions>
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width = "Auto" />
                                    <ColumnDefinition Width="*" />
                                </Grid.ColumnDefinitions >
                                 < !--Calendar checkBox Selector -->
                                <telerikPrimitives:RadCheckBox
                                      x:Name="checkViewCalendar">
                                    <telerikPrimitives:RadCheckBox.Commands>
                                        <checkBoxComamnds:CheckBoxUserCommand
                                              Command = "{Binding IsCheckedChangedCommand}"
                                              Id="IsCheckedChanged" 
                                              SuppressDefaultCommand="True">
                                        </checkBoxComamnds:CheckBoxUserCommand>
                                    </telerikPrimitives:RadCheckBox.Commands>
                                </telerikPrimitives:RadCheckBox>
                                <!-- Name of Agenda -->
                                <Label
                                    Grid.Row="0"
                                    Grid.Column="1"
                                    HorizontalOptions="FillAndExpand"
                                    Text="{Binding Name}">
                                </Label>
                           </Grid >
                      </ViewCell >
                   </DataTemplate >
               </ListView.ItemTemplate >
           </ListView >
</AbsoluteLayout>

MVVM Code


namespace ViewModels
{
   //using ...
    using System.Windows.Input;
    using Xamarin.Forms;
    using Telerik.XamarinForms.Primitives.CheckBox.Commands;

    public class CalendarsViewModel : BaseViewModel
        
       public CalendarsViewModel()
        {
            this.IsCheckedChangedCommand = new Command<CheckBoxIsCheckChangedCommandContext>(this.CheckBoxChange);
            this.LoadCalendars();
        }

       private async void CheckBoxChange(CheckBoxIsCheckChangedCommandContext context)
        {
            await Application.Current.MainPage.DisplayAlert(
                    "MVVM Alert Start",
                    $"CheckBox User Command executed at {DateTime.Now.ToLocalTime()} in {context.ToString()}",
                    "Ok");
           //How identify the container row in the context?
        }
        public ICommand IsCheckedChangedCommand { get; set; }

        public ObservableCollection<Calendar> CalendarList
        {
            get { return this.calendars; }
            set { SetValue(ref this.calendars, value); }
        }
        private async void LoadCalendars()
        {
           // API Call to get List and create ObservableCollection Binding to ListView
        }
Thanks for your help!

Declined
Last Updated: 20 Feb 2019 05:42 by Allcloud
Created by: Allcloud
Comments: 3
Category: UI for Xamarin
Type: Feature Request
1

			
Declined
Last Updated: 19 Feb 2019 12:09 by ADMIN
Currently RadListView  has only pullTorefresh which updates the list if user scrolling the list downwards.. But it is good to have pullUptorefresh kind of gesture. since mostly we need to populate the list when user scrolling up. a gesture direction setting (pullup or down) would do. 
1 2 3 4