Today I upgraded to R1 2019 (version 2019.1.116.340)
I cleaned all projects, deleted all bin/obj, rebooted VS and then rebuilt. All my Telerik controls are no longer are visible. White spaces. iOS and Android
I restored the previous 2018 version and it's working again
8 Answers, 1 is accepted
Can you confirm the projects support the new minimum required dependencies? Here's a screenshot:
Regards,
Lance | Tech Support Engineer, Sr.
Progress Telerik
Hi Lance,
When I upgraded to 2019 R1, it did not add SkiaSharp.Views.Forms and 2018 R3 did not need it.
The Telerik NuGet server has Telerik.UI.for.Xamarin.SkiaSharp - Do I add that one, or the more generic SkiaSharp.Views.Forms from Nuget.org ?
Only use a single Telerik package "Telerik.UI.for.Xamarin", it contains everything you need (the subpackages like .SkiaSharp and .Chart are for special edge cases).
If you're concerned about referencing more than you use, don't worry because the iOS and Android linker will remove any unused code.
SkiaSharp Packages
For the SkiaSharp packages, make sure every project has the correct packages. Typically the NuGet Package manager is supposed to do this for you, but I find it unreliable. By explicitly including the packages, you can be assured they are pulled down from Nuget.org and included.
Here's a list to guide you (I recommend using v1.68 to avoid a Microsoft Xamarin.iOS bug)
- SkiaSharp (install to all projects)
- SkiaSharp.Views (install to all projects, except class library)
- SkiaSharp.Views.Forms (install to all projects)
XAML Compilation
Finally, just to rule this out, make sure that you have Xamarin XAML Compilation (aka XamlC) enabled. This prevents the linker from removing code that is from external libraries.
Go to your App.xaml.cs class and add this attribute:
using
Xamarin.Forms;
using
Xamarin.Forms.Xaml;
[assembly: XamlCompilation (XamlCompilationOptions.Compile)]
namespace
YourApp
{
public
partial
class
App : Application
{
...
}
}
Let me know how it goes.
Regards,
Lance | Tech Support Engineer, Sr.
Progress Telerik
HI Lance,
Unfortunately the Telerik 2019 R1 ListView controls are blank still. I have added the SkiaSharp tools as you requested, cleaned all the bin/obj but still ListView controls, on iOS and Android, are invisible.
Reverting to 2018 R3 works.
The controls are there, I can pull-to-refresh and the spinners appear and the view models populate. But the ListViews do not show any content. Tapping the listview results in nothing happening, so the control isn't responding to taps
The ListView has:
- GroupHeaderTemplate
- ItemTemplateSelector (DOES NOT FIRE)
- Templates in separate xaml files
The only thing that changes is installing 2019 R1. Reverting to 2018 R3 fixes the invisible ListViews
I have found that if I remove the GroupDescriptors tag (below) then the ListView will render, but I loose GroupHeaders (bad)
<!-- GROUP BY -->
<
telerikDataControls:RadListView.GroupDescriptors
>
<!-- I use a HotListGroupHeaderConverter to change the Date to a nice format-->
<
telerikListView:PropertyGroupDescriptor
PropertyName
=
"GroupBySort"
SortOrder
=
"Ascending"
/>
</
telerikDataControls:RadListView.GroupDescriptors
>
My HotListGroupHeaderConverter is:
public class HotListGroupHeaderConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value is GroupHeaderContext ctx)
{
if (ctx.Items.FirstOrDefault() is IHotlistItem item )
{
return item.GroupByTitle;
}
}
return "Err Expecting IHotlistItem";
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return "";
}
}
Here's the full ListView:
<
telerikDataControls:RadListView
x:Name
=
"list"
GroupHeaderTemplate
=
"{StaticResource ListViewGroupHeaderTemplate}"
IsVisible
=
"{Binding IsLoadingHotlist, Converter={StaticResource NegateBooleanConverter}}"
ItemsSource
=
"{Binding ItemsHotlist}"
BackgroundColor
=
"White"
IsPullToRefreshActive
=
"{Binding IsBusyHotlist}"
IsPullToRefreshEnabled
=
"True"
SelectionMode
=
"Single"
>
<!-- GROUP BY -->
<
telerikDataControls:RadListView.GroupDescriptors
>
<!-- TRICK I use a HotListGroupHeaderConverter to change the Date here to a nice pretty print -->
<
telerikListView:PropertyGroupDescriptor
PropertyName
=
"GroupBySort"
SortOrder
=
"Ascending"
/>
</
telerikDataControls:RadListView.GroupDescriptors
>
<!-- COMMANDS -->
<!-- COMMANDS -->
<!-- COMMANDS -->
<
telerikDataControls:RadListView.Commands
>
<
commands:ListViewUserCommand
Id
=
"PullToRefreshRequested"
Command
=
"{Binding RefreshHotlistCommand}"
/>
<
commands:ListViewUserCommand
Id
=
"ItemTap"
Command
=
"{Binding HotlistTapCommand}"
/>
</
telerikDataControls:RadListView.Commands
>
<!-- TEMPLATE CELLS -->
<!-- TEMPLATE CELLS -->
<!-- TEMPLATE CELLS -->
<
telerikDataControls:RadListView.ItemTemplateSelector
>
<
vm:HotlistItemSelector
AppointmentTemplate
=
"{StaticResource AppointmentCellTemplate}"
TaskTemplate
=
"{StaticResource TaskCellTemplate}"
ErrorTemplate
=
"{StaticResource ErrorCellTemplate}"
/>
</
telerikDataControls:RadListView.ItemTemplateSelector
>
</
telerikDataControls:RadListView
>
You can find this ticket answered at the following link below:
https://www.telerik.com/forums/r1-2019-breaks-listview-w-groupdescriptors
Regards,
Didi
Progress Telerik