Pending Review
Last Updated: 16 Sep 2019 12:34 by Rajendra
Created by: Rajendra
Comments: 0
Category: UI for Xamarin
Type: Bug Report
0
Hi Team,

I implemented radcheckbox in my xamarin telerik application. In which i select checkbox and afterword i post some data through webAPI. After completion of posting data i got response from server and my app got crashed and show me following stack trace data,

  at Telerik.XamarinForms.PrimitivesRenderer.iOS.CheckBoxRenderer.OnElementDetached (Telerik.XamarinForms.Primitives.RadCheckBox oldElement) [0x00025] in <f3723b4c1d3f406496717d69142c8f84>:0 

  at Telerik.XamarinForms.Common.iOS.IosRendererBase`2[S,T].Dispose (System.Boolean disposing) [0x0001f] in <81c15264f2164ef79a02e84ed79e8bfd>:0 

  at Foundation.NSObject.Dispose () [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/12.14.0.114/src/Xamarin.iOS/Foundation/NSObject2.cs:147 

  at Xamarin.Forms.Platform.iOS.VisualElementPackager.Dispose (System.Boolean disposing) [0x0003f] in <612eab01c6f546df983c0637f996b4cd>:0 

  at Xamarin.Forms.Platform.iOS.VisualElementPackager.Dispose () [0x00000] in <612eab01c6f546df983c0637f996b4cd>:0 

  at Xamarin.Forms.Platform.iOS.VisualElementRenderer`1[TElement].Dispose (System.Boolean disposing) [0x00058] in <612eab01c6f546df983c0637f996b4cd>:0 

  at Foundation.NSObject.Dispose () [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/12.14.0.114/src/Xamarin.iOS/Foundation/NSObject2.cs:147 

  at Xamarin.Forms.Platform.iOS.VisualElementPackager.OnChildRemoved (Xamarin.Forms.VisualElement view) [0x0003e] in <612eab01c6f546df983c0637f996b4cd>:0 

  at Xamarin.Forms.Platform.iOS.VisualElementPackager.OnChildRemoved (System.Object sender, Xamarin.Forms.ElementEventArgs e) [0x0000f] in <612eab01c6f546df983c0637f996b4cd>:0 

  at Xamarin.Forms.Element.OnChildRemoved (Xamarin.Forms.Element child) [0x00007] in D:\a\1\s\Xamarin.Forms.Core\Element.cs:343 

  at Xamarin.Forms.VisualElement.OnChildRemoved (Xamarin.Forms.Element child) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:750 

  at Xamarin.Forms.Layout`1[T].OnChildRemoved (Xamarin.Forms.Element child) [0x00000] in <4542de7f0f544d51b46d63bd15d5f6b5>:0 

  at Xamarin.Forms.Layout.OnInternalRemoved (Xamarin.Forms.View view) [0x00012] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:464 

  at Xamarin.Forms.Layout.InternalChildrenOnCollectionChanged (System.Object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) [0x0002b] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:427 

  at (wrapper delegate-invoke) <Module>.invoke_void_object_NotifyCollectionChangedEventArgs(object,System.Collections.Specialized.NotifyCollectionChangedEventArgs)

  at System.Collections.ObjectModel.ObservableCollection`1[T].OnCollectionChanged (System.Collections.Specialized.NotifyCollectionChangedEventArgs e) [0x00018] in <a1ab7fc4639d4d84af41d68234158b1c>:0 

  at System.Collections.ObjectModel.ObservableCollection`1[T].OnCollectionChanged (System.Collections.Specialized.NotifyCollectionChangedAction action, System.Object item, System.Int32 index) [0x00009] in <a1ab7fc4639d4d84af41d68234158b1c>:0 

  at System.Collections.ObjectModel.ObservableCollection`1[T].RemoveItem (System.Int32 index) [0x00021] in <a1ab7fc4639d4d84af41d68234158b1c>:0 

  at System.Collections.ObjectModel.Collection`1[T].Remove (T item) [0x00027] in <939d99b14d934342858948926287beba>:0 

  at Xamarin.Forms.Layout.OnInternalAdded (Xamarin.Forms.View view) [0x0000b] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:451 

  at Xamarin.Forms.Layout.InternalChildrenOnCollectionChanged (System.Object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) [0x00078] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:443 

  at (wrapper delegate-invoke) <Module>.invoke_void_object_NotifyCollectionChangedEventArgs(object,System.Collections.Specialized.NotifyCollectionChangedEventArgs)

  at System.Collections.ObjectModel.ObservableCollection`1[T].OnCollectionChanged (System.Collections.Specialized.NotifyCollectionChangedEventArgs e) [0x00018] in <a1ab7fc4639d4d84af41d68234158b1c>:0 

  at System.Collections.ObjectModel.ObservableCollection`1[T].OnCollectionChanged (System.Collections.Specialized.NotifyCollectionChangedAction action, System.Object item, System.Int32 index) [0x00009] in <a1ab7fc4639d4d84af41d68234158b1c>:0 

 

My xaml code,

<telerikControls:RadCheckBox IsChecked="{Binding IsSelected, Mode=TwoWay}" HorizontalOptions="Center" VerticalOptions="Center" />

 

My model class code,

private bool _isSelected;
        public bool IsSelected
        {
            get { return _isSelected; }
            set
            {
                _isSelected = value;
            }
        } 

Version information,

Xmarin form version : 4.1.0

Telerik UI version : 2019.2.802.1

iOS version 12.2

In Development
Last Updated: 16 Sep 2019 08:06 by ADMIN
When using MvvmCross framework to load data when the View appears on the screen the ListView cannot be scrolled. It starts jumping rapidly instead.

Workaround:
Load the data in the constructor of the respective ViewModel instead inside its ViewAppearing() method.
Approved
Last Updated: 13 Sep 2019 12:35 by ADMIN
ADMIN
Created by: Nikolay
Comments: 5
Category: ListView
Type: Bug Report
4
This can be reproduced in the SDK examples ->ListView -> Gestures -> CellSwipeEvents. 
1. Change the content of the items so that they have uneven height
2. Scroll down 
3. Delete an item by swiping
-> Expected result : The items re-arrange correctly
-> Actual result : The item is deleted but the ListView is scrolled up when the UI is updated
In Development
Last Updated: 13 Sep 2019 11:30 by ADMIN
ADMIN
Created by: Didi
Comments: 2
Category: Chart
Type: Bug Report
6

			
In Development
Last Updated: 13 Sep 2019 07:46 by ADMIN
RadListView item height is not adjusted to fit the content in the cell on iOS 13 Beta.
Approved
Last Updated: 11 Sep 2019 15:25 by ADMIN
GroupHeaderTemplate has a default gray background applied and setting Transparent does not take any effect.
Approved
Last Updated: 11 Sep 2019 11:09 by ADMIN
When the DataGridPickerColumn ItemsSource property is bound to a collection not part of the business object used for the DataGrid, and ItemDisplayBindingPath is used, null reference exception is raised when selecting items in the picker.
Approved
Last Updated: 10 Sep 2019 10:17 by ADMIN
When any control (Frame, for example) with applied Margin is placed inside GroupHeaderTemplate of the ListView, the Margin value is not respected on iOS.
Completed
Last Updated: 06 Sep 2019 12:26 by ADMIN
Release R2 2019 SP2

The SelectionChanged event of the ChartSelectionBehavior is fired twice for a single selection change

Approved
Last Updated: 05 Sep 2019 08:53 by ADMIN
When you initiate a swipe gesture and the SwipeContentTemplate is shown,  changing the device orientation from portrait to landscape, does not update the ListView layout and the swiped item width is incorrect.
Completed
Last Updated: 04 Sep 2019 06:30 by ADMIN
System.NullReferenceException is thrown when navigating back pages with RadListView and using Xamarin.Forms 4.0 or higher. 

UPDATE:
The issue is confirmed to be in Xamarin.Forms framework. A fix is already provided. The Xamarin.Forms 4.3 version will contain the fix.
In Development
Last Updated: 03 Sep 2019 08:25 by ADMIN
When the custom ItemTemplate sets bigger value of its Height e.g. more than 44 pixels, the content of the UITreeViewCell is not sized correctly. Only the cell gets the correct value.
Won't Fix
Last Updated: 29 Aug 2019 06:27 by ADMIN
Workaround for GroupHeaderTemplate:

<grid:RadDataGrid.GroupHeaderTemplate>
    <DataTemplate>
        <Label Text="{Binding Group.Key}"/>
    </DataTemplate>
</grid:RadDataGrid.GroupHeaderTemplate>


Workaround for column:

<telerikDataGrid:DataGridTemplateColumn HeaderText="Name" >
    <telerikDataGrid:DataGridTemplateColumn.CellContentTemplate>
        <DataTemplate>
            <Label Text="{Binding Name}"/>
        </DataTemplate>
    </telerikDataGrid:DataGridTemplateColumn.CellContentTemplate>
</telerikDataGrid:DataGridTemplateColumn>

 
UPDATE:
We have decided not to change the code of the RadDataGrid component in this regard. The root reason for this is the fact that the Skia APIs used to draw the text does not support automatic character fallback. To overcome this issue, people from Skia team have two suggestions. We have tested them out and none of them is applicable for the case of the DataGrid.
First approach slows down the performance of the component to a point where the DataGrid becomes unusable.
Second approach does not fix the problem in all cases.
Having this in mind the best approach for our customers in such cases is to use a TemplateCell with a Label inside it only for the column(s) where they expect symbols to occur. The Xamarin.Forms.Label supports automatic character fallback hence it should properly handle all cases.
Completed
Last Updated: 28 Aug 2019 10:14 by ADMIN
Release 2019.2.708 (R2 2019 minor release)
When there is custom template applied that hosts multiple rows of UI components with total height greater than 44, the template is not measured correctly, leading to wrong visualization.
Approved
Last Updated: 28 Aug 2019 07:43 by ADMIN

If we have a ListView with a CheckBox inside the ItemTemplate and the whole ListView is placed in a Popup control, following the next steps:

1. Open the popup

2. Check and uncheck the CheckBox control in any of the items.

3. Click into the popup and then outside to close it.

NullReferenceException is raised on iOS.

In Development
Last Updated: 19 Aug 2019 11:05 by ADMIN
Created by: Quentin
Comments: 0
Category: Calendar & Scheduling
Type: Bug Report
1
DisplayDateChanged event is not fired in UWP
In Development
Last Updated: 19 Aug 2019 11:05 by ADMIN
Created by: Anvar
Comments: 0
Category: Calendar & Scheduling
Type: Bug Report
1
On UWP, the RadCalendar's DisplayDate isn't updated when the month's view changes (via user selecting the up/down arrows in the header).
Approved
Last Updated: 19 Aug 2019 09:58 by ADMIN
When display is on high resolution screen (MS surface book screen 3000*2000 with 200% scale) the DataGrid is not resized correctly.  See attachments. 
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. 

In Development
Last Updated: 15 Aug 2019 14:08 by ADMIN

Using the code code below, the RadBusyIndicator will animate the first time you toggle IsBusy.

However, any subsequent changes to IsBusy will show the AnimationType's graphic, but without animation.

<telerikBusyIndicator:RadBusyIndicator x:Name="radBusyIndicator"
                                               AnimationType="Animation4"
                                               IsBusy="{Binding IsBusy}"
                                               IsVisible="{Binding IsBusy}"
                                               Grid.RowSpan="3" />

1 2 3 4 5 6