This is from our production app. Cannot reproduce it, don't know exactly when or why it happens; we just have crashes logged to have happened to 9 users in the past year with a total of 30 occurences.
These are unhandled UWP exceptions, which mean that our app goes poof :)
System.ArgumentException: Value does not fall within the expected range at
System.ThrowHelper.ThrowAddingDuplicateWithKeyArgumentException(Object) + 0xf at
Telerik.UI.Xaml.Controls.Data.ListView.Model.BaseLayoutStrategy.RecycleLocally() + 0x320 at Telerik.UI.Xaml.Controls.Data.ListView.Model.BaseLayoutStrategy.MeasureContent(RadSize, Double, Double) + 0xd at Telerik.UI.Xaml.Controls.Data.ListView.Model.LayoutController.MeasureVertical(RadSize) + 0x1b9 at Telerik.UI.Xaml.Controls.Data.ListView.Model.LayoutController.MeasureContent(RadSize) + 0x42 at Telerik.UI.Xaml.Controls.Data.ListViewModel.MeasureContent(RadSize) + 0x2e at Telerik.UI.Xaml.Controls.Data.RadListView.OnContentPanelMeasure(RadSize) + 0x17f at Telerik.UI.Xaml.Controls.Data.ListView.ListViewPanel.MeasureOverride(Size) + 0x60 at Windows.UI.Xaml.FrameworkElement.global::Windows.UI.Xaml.IFrameworkElementOverrides.MeasureOverride(Size) + 0x26
System.ArgumentException: An item with the same key has already been added at
System.ThrowHelper.ThrowAddingDuplicateWithKeyArgumentException(Object) + 0xf at Telerik.UI.Xaml.Controls.Data.ListView.Model.BaseLayoutStrategy.RecycleLocally() + 0x320 at Telerik.UI.Xaml.Controls.Data.ListView.Model.BaseLayoutStrategy.MeasureContent(RadSize, Double, Double) + 0xd at Telerik.UI.Xaml.Controls.Data.ListView.Model.LayoutController.MeasureVertical(RadSize) + 0x1b9 at Telerik.UI.Xaml.Controls.Data.ListView.Model.LayoutController.MeasureContent(RadSize) + 0x42 at Telerik.UI.Xaml.Controls.Data.ListViewModel.MeasureContent(RadSize) + 0x2e at Telerik.UI.Xaml.Controls.Data.RadListView.OnContentPanelMeasure(RadSize) + 0x17f at Telerik.UI.Xaml.Controls.Data.ListView.ListViewPanel.MeasureOverride(Size) + 0x60 at Windows.UI.Xaml.FrameworkElement.global::Windows.UI.Xaml.IFrameworkElementOverrides.MeasureOverride(Size) + 0x26
Hello,
I'd been testing the trial version of the Telerik chart control for Xamarin in an Android app. Because it was working well, I'd purchased a license yesterday. And, I replaced the NuGet trial package with the license package. So far, so good.
However, now, when I try to build the project, it fails. (I've tried building both the Release and Debug version.)
The errors I see are below:
Severity Code Description Project File Line Suppression State
Error failed linking references. Ble.Client.Android
Error resource style/MainTheme.Base (aka com.companyname.ble.client:style/MainTheme.Base) not found. Ble.Client.Android
ErrorNU1301 Failed to retrieve information about 'Xamarin.AndroidX.AppCompat' from remote source 'https://packagesource/FindPackagesById()?id='Xamarin.AndroidX.AppCompat'&semVerLevel=2.0.0'. Ble.Client.Android D:\2023_devwork\BLE_Xamarin\XamarinBleCodeBehind-main\XamarinBleCodeBehind-main\Ble.Client\Ble.Client.Android\Ble.Client.Android.csproj 1
Any thoughts as to what might have broken, and, what I need to do in order to resolve the issue? (In case it helps, I'm including a screen capture of the Visual Studio 2022 output window.)
Thanks!
--Donn Morse
Combobox, selection mode multiple.
Select the third item:
And you get this:
(also note the +1 circle going over the border)
However, set selected items programatically, and you get this:
There's plenty of space in the control.
Open the dropdown:
Still plenty of space, but... the button has disappeared.
Collapse it by clicking somewhere outside the control and you get back to the measurement bug:
Please refer to this issue: https://feedback.telerik.com/xamarin/1509502-errors-with-latest-versions-of-androidx
Hello this problem seems to be still prevalent in "Release" mode when using the individual libraries as well, in my case I am referencing the lite libraries from telerik nuget (Telerik.UI.for.Xamarin.Input.Lite + Telerik.UI.for.Xamarin.DataControls.Lite 2021.3.915.1).Hello,
Let's say you have a view... You select multiple items in the combobox... Then you navigate away from that view, return, and you cannot bind the Combobox to previously selected items.
Well, you kind of can, but you can't. The combobox will happily display tokens, but it's just for display. They are not really selected.
Select some items:
(navigate away and back, bind SelectedItems to list above)
At this point, doing anything with these items will overwrite whatever was "selected".
By the way, this isn't visible in the screenshot above, but if you have a placeholder set up on the Combobox (I set it to an empty string), it will be shown on the right of the tokens. Which means the control really thinks it's empty.
TL;DR - cannot programatically set SelectedItems. The control's multiple selection mode is "one way to source", thus not usable in real world scenarios for editing data.
I want to use a sticky header listview.
I using the following code to render the sticky header list.
XML page code:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="TEST.Views.AboutPage"
xmlns:vm="clr-namespace:TEST.ViewModels"
xmlns:telerikDataControls="clr-namespace:Telerik.XamarinForms.DataControls;assembly=Telerik.XamarinForms.DataControls"
xmlns:telerikListView="clr-namespace:Telerik.XamarinForms.DataControls.ListView;assembly=Telerik.XamarinForms.DataControls"
Title="{Binding Title}"
>
<ContentPage.BindingContext>
<vm:AboutViewModel />
</ContentPage.BindingContext>
<ContentPage.Resources>
<ResourceDictionary>
<Color x:Key="Accent">#96d1ff</Color>
</ResourceDictionary>
<DataTemplate x:Key="ListViewItemTemplate">
<telerikListView:ListViewTemplateCell>
<telerikListView:ListViewTemplateCell.View>
<Grid Padding="16, 0, 0, 0" BackgroundColor="#F1F2F5" HeightRequest="100">
<Label Text="{Binding Name}" TextColor="#6F6F70" FontSize="Small" />
</Grid>
</telerikListView:ListViewTemplateCell.View>
</telerikListView:ListViewTemplateCell>
</DataTemplate>
<DataTemplate x:Key="ListViewGroupHeaderTemplate">
<Grid HeightRequest="40">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Label Margin="0, 12, 0, 6" Text="{Binding }" Grid.Column="1" TextColor="DarkGray" FontSize="Medium" HorizontalOptions="Start" />
</Grid>
</DataTemplate>
<telerikListView:ListViewGroupStyle x:Key="ListViewGroupHeaderStyle" BackgroundColor="White" />
</ContentPage.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<telerikDataControls:RadListView
x:Name="listView"
ItemsSource="{Binding Cities}"
ItemTemplate="{StaticResource ListViewItemTemplate}"
GroupHeaderTemplate="{StaticResource ListViewGroupHeaderTemplate}"
GroupHeaderStyle="{StaticResource ListViewGroupHeaderStyle}"
IsGroupHeaderSticky="True"
Grid.Row="0"
>
<telerikDataControls:RadListView.GroupDescriptors>
<telerikListView:PropertyGroupDescriptor PropertyName="Country"/>
</telerikDataControls:RadListView.GroupDescriptors>
<telerikDataControls:RadListView.LayoutDefinition>
<telerikListView:ListViewGridLayout HorizontalItemSpacing="5"
ItemLength="120"
SpanCount="2"
VerticalItemSpacing="5" />
</telerikDataControls:RadListView.LayoutDefinition>
</telerikDataControls:RadListView>
</Grid>
</ContentPage>
ViewModels:
public class City
{
public string Name { get; set; }
public string Country { get; set; }
}
public class ViewModel
{
public ObservableCollection<City> Cities { get; set; }
public ViewModel()
{
this.Cities = new ObservableCollection<City>()
{
new City() { Name = "Barcelona", Country = "Spain"},
new City() { Name = "Madrid", Country = "Spain"},
new City() { Name = "Barcelona", Country = "Spain"},
new City() { Name = "Madrid", Country = "Spain"},
new City() { Name = "Rome", Country = "Italy"},
new City() { Name = "Florence", Country = "Italy"},
new City() { Name = "Florence", Country = "Italy"},
new City() { Name = "London", Country = "England"},
new City() { Name = "Manchester", Country = "England"},
new City() { Name = "Manchester", Country = "England"},
new City() { Name = "Manchester", Country = "England"},
new City() { Name = "Manchester", Country = "England"},
new City() { Name = "Manchester", Country = "England"},
new City() { Name = "Manchester", Country = "England"},
new City() { Name = "Manchester", Country = "England"},
new City() { Name = "New York", Country = "USA"},
new City() { Name = "New York", Country = "USA"},
new City() { Name = "New York", Country = "USA"},
new City() { Name = "New York", Country = "USA"},
new City() { Name = "New York", Country = "USA"},
new City() { Name = "New York", Country = "USA"},
new City() { Name = "New York", Country = "USA"},
new City() { Name = "Boston", Country = "USA"}
};
}
}
When using a RadListview with a Grid or a Stack Layout in iOS I get the following exception. I haven't tested using the stacklayout outside of the RadListView nor have I tested it outside of the ItemTemplateSelector
Telerik.XamarinForms.Common.NotRegisteredRendererException: There is no renderer registered for the specified type: Xamarin.Forms.Grid
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:telerikDataControls="clr-namespace:Telerik.XamarinForms.DataControls;assembly=Telerik.XamarinForms.DataControls"
xmlns:telerikListView="clr-namespace:Telerik.XamarinForms.DataControls.ListView;assembly=Telerik.XamarinForms.DataControls"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:d="http://xamarin.com/schemas/2014/forms/design"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:models="clr-namespace:AlertTest.Models"
mc:Ignorable="d"
xmlns:views="clr-namespace:AlertTest.Views"
x:Class="AlertTest.Views.MainPage">
<ContentPage.Resources>
<ResourceDictionary>
<DataTemplate x:Key="NonDivisibleTemplate">
<Grid>
<StackLayout Orientation="Vertical" Padding="10" Spacing="0" BackgroundColor="Yellow" InputTransparent="True" Unfocused="StackLayout_Unfocused">
<Label Text="{Binding ItemText}"/>
</StackLayout>
</DataTemplate>
<DataTemplate x:Key="DivisibleTemplate">
<Grid>
<StackLayout Orientation="Vertical" Padding="15" Spacing="0" BackgroundColor="White" Unfocused="StackLayout_Unfocused">
<Label Text="{Binding ItemText}" FontSize="Large" HorizontalTextAlignment="Center"/>
<Label Text="{Binding ItemText}" FontSize="Small" FontAttributes="Italic" TextColor="Gray"/>
</StackLayout>
</Grid>
</DataTemplate>
<models:MyDataTemplateSelector
x:Key="MyTemplateSelector"
NonDivisibleTemplate="{StaticResource NonDivisibleTemplate}"
DivisibleTemplate="{StaticResource DivisibleTemplate}" />
</ResourceDictionary>
</ContentPage.Resources>
<StackLayout VerticalOptions="StartAndExpand">
<!-- Place new controls here -->
<views:FloatingLabelEntry EntryText="{Binding EntryText}" Margin="20" BackgroundColor="Yellow" PlaceholderText="{Binding PlaceholderText}"/>
<Entry TextChanged="Entry_TextChanged" BackgroundColor="AliceBlue" Margin="20"/>
<telerikDataControls:RadListView x:Name="listView" ItemsSource="{Binding ListItems}" ItemTemplateSelector="{StaticResource MyTemplateSelector}" SelectionMode="Single" IsItemSwipeEnabled="False" >
<!--<telerikDataControls:RadListView.ItemSwipeContentTemplate>
<DataTemplate>
-->
<!--<Grid Margin="0"
Padding="0"
ColumnSpacing="0"
RowSpacing="0">-->
<!--<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>-->
<!--
<StackLayout Orientation="Horizontal" HorizontalOptions="FillAndExpand">
<Label BackgroundColor="#2474d2"
HorizontalTextAlignment="Start"
HorizontalOptions="StartAndExpand"
Text="Mark as read"
TextColor="White"
VerticalTextAlignment="Center" />
<Label Grid.Column="2"
BackgroundColor="Red"
HorizontalTextAlignment="End"
HorizontalOptions="EndAndExpand"
Text="delete"
TextColor="White"
VerticalTextAlignment="Center"/>
</StackLayout>
-->
<!--</Grid>-->
<!--
</DataTemplate>
</telerikDataControls:RadListView.ItemSwipeContentTemplate>-->
</telerikDataControls:RadListView>
</StackLayout>
</ContentPage>
If you download the pdf document from the internet, save it to the device and try to show it inside PdfViewer, it will not be loaded on Xiaomi phones with MIUI 12.1. and above.
Users report similar issues with downloaded files on MIUI devices, here are a few discussions on the matter:
https://www.reddit.com/r/Xiaomi/comments/l3x5db/miui_12130_broke_file_permissions_on_mi10_lite/
https://www.reddit.com/r/Xiaomi/comments/mx05ur/file_downloading_issues_on_my_xiaomi/
It seems that's the same reason for the PdfViewer not showing downloaded pdf files as it properly shows pdf documents added as embedded resource to the solution.
Hi telerik team,
I know, my case is very specific, but I got this Bug and need to fix it somehow.
About: I have a RadSideDrawer in which I have a Collection View in which Header I have a Carousel View. When I rotate the phone in landscape mode the items are resized. After rotate back to portrait they are resized, but a lot of space appeare between them. So the layout is somekind wrong calculated.
This only occure in this combination on iOS. If I remove the RadSideDrawer it works, if I remove the Collection View it also works, but both together not.
Reprosteps: Create a view with carousel embedded into the header of collection view embedded in to RadSideDrawer. (see attachment)
Rotate to landscape, rotate back to portrait mode.
System information:
iOS
xamarin: 5.0.0.2012
xamarin telerik ui: 2021.1.119.4
If you have a workarround for me, I will be very happy. Somehow to trigger a recalculation might help. I tryed set some InvalidateMeasure and ForceLayout but it didn't help. Either it don't work ot I apply it wrong.
Any help is welcome!
Best regards,
Niko
Hi,
I had developed an Xamarin application, in a modal I open a PdfViewer.
PdfViewerPage pdfViewer = new PdfViewerPage(item.IdAllegato, item.Path, item.FlagScaricabile);
Navigation.PushModalAsync(pdfViewer);
I assign a url to the PdfViewer source.
pdfViewer.Source = new Uri(uri);
Hello, could you provide some guidance about the following situation....
I have a scenario using the RadListView that implements a PropertyGroupDescriptor for a property attached to my ObservableCollection<T>, where the property that it is monitoring is string value. The dataset is designed that it may have only one grouping before an item is selected them the dataset will have two different groupings. One the data changes, the ListView updates to show that there are two different groups but the group header doesn't change and neither does the cell content. If I click on the GroupHeader of the new section, then it updates to reflect the change in data. Is there a way to get the data to change in the Listview with some kind of Refresh so it stays up to date with the data.
Seeing it on iOS right now.
Thanks
When I update Telerik.UI.for.Xamarin to v2021.1.119.1, I got following error:
Unable to resolve dependency 'Telerik.UI.for.Xamarin.Documents.Spreadsheet.FormatProviders.Xls'. Source(s) used: 'nuget.org', 'Telerik', 'Microsoft Visual Studio Offline Packages'.
Could you help to take a look? Thanks
Hi folks.
I am using the rad list view with grouping in my application. There are some cases when the list has empty groups (That's ok because according to the application's logic I can move items between groups). The problem is that the empty group it's not actually "Empty". It has a blank item which is not desirable behavior for me. I have a list view "item tapped" event which navigates the user to the details screen and when I tap on the empty group's item the application throws an exception because the list item is blank. I have attached a sample app according to this example and GIF files showing the issue.
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.
System.MissingFieldException: Field not found: Telerik.XamarinForms.SkiaSharp.SkiaDocumentView.purePainter Due to: Could not parse field signature 0a00031b due to: Could not resolve type with token 0100014e from typeref (expected class 'Telerik.XamarinForms.SkiaSharp.DocumentView.SkiaDocumentPurePainter' in assembly 'Telerik.XamarinForms.SkiaSharp, Version=2020.3.1106.460, Culture=neutral, PublicKeyToken=null') assembly:Telerik.XamarinForms.SkiaSharp, Version=2020.3.1106.460, Culture=neutral, PublicKeyToken=null type:Telerik.XamarinForms.SkiaSharp.DocumentView.SkiaDocumentPurePainter member:(null)
at Telerik.XamarinForms.PdfViewer.RadPdfViewer.UpdatePresenter () [0x00037] in <bd15b7ab3df742a5908d5d151a9a58d8>:0
at Telerik.XamarinForms.PdfViewer.RadPdfViewer..ctor () [0x00048] in <bd15b7ab3df742a5908d5d151a9a58d8>:0
at OnaMobile.Views.PdfViewPage.InitializeComponent () [0x00012] in C:\Users\chris\Work\ONAMA\onama-mobile-app\OnaMobile\OnaMobile\obj\Debugetstandard2.0\Views\PdfViewPage.xaml.g.cs:22
at OnaMobile.Views.PdfViewPage..ctor () [0x00008] in C:\Users\chris\Work\ONAMA\onama-mobile-app\OnaMobile\OnaMobile\Views\PdfViewPage.xaml.cs:19
at OnaMobile.ViewModels.ResourcesPageViewModel.OpenResourceAsync (OnaMobile.OnlineResources.ResourceLink resource) [0x001ac] in C:\Users\chris\Work\ONAMA\onama-mobile-app\OnaMobile\OnaMobile\ViewModels\ResourcesPageViewModel.cs:186
iOS SDK 14.1, ARM64. Happens regardless of Linker Behavior setting.
The page itself has nothing in its code-behind other than the default constructor calling InitializeComponent(). In the XAML, the RadPdfViewer control is in a two-row, one-column grid, where it is in the second row:
<Grid VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" ColumnSpacing="0" RowSpacing="0">
<Grid.RowDefinitions>
<RowDefinition Height="60" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Frame Grid.Row="0"><!-- ... --></Frame>
<pdf:RadPdfViewer Grid.Row="1" HorizontalOptions="Fill" VerticalOptions="FillAndExpand" Source="{Binding Source}" />
</Grid>