"System.IO.FileNotFoundException: 'Could not load file or assembly 'Microsoft.Maui.Controls.Compatibility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.'"
Occurs when creating a blank .net maui project using .net9 and adding Telerik MAUI NuGet Package latest version 8.0.0
Repro steps:
1. Create a new dotnet9 basic project in visual studio. 2. Launch it on windows. it runs. 3. Add the Telerik.UI.for.Maui.Trial package, version 8. (don't bother adding the UseTelerik line to MauiProgram.cs, it'll fail either way). 4. Clean and Rebuild the solution. 5. Debug the app on windows again. It fails on launch with a file not found error that seems to relate to: "Exception thrown: 'System.IO.FileNotFoundException' in Telerik.Maui.Controls.Compatibility.dll" System.IO.FileNotFoundException: 'Could not load file or assembly 'Microsoft.Maui.Controls.Compatibility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.'
After updating our Maui application to Maui version 8.0.90, the Entry controls in the WinUI version stopped responding to WidthRequest, HorizontalOptions, or parent container sizes. I thought it was just a Maui problem, but in the relevant issue's notes, I saw that users were having trouble duplicating it unless Telerik UI for .NET Maui was installed (https://github.com/dotnet/maui/issues/24783).
So I created a test app that contains a few Entry controls in various containers:
<?xml version="1.0" encoding="utf-8"?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="WinUIEntryBug.MainPage">
<ScrollView>
<VerticalStackLayout
Padding="30,0"
Spacing="25">
<Border>
<Entry />
</Border>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Entry Grid.Column="0"></Entry>
</Grid>
<Frame>
<Entry />
</Frame>
<Entry />
</VerticalStackLayout>
</ScrollView>
</ContentPage>
Without the Telerik components added to the project, the Entry boxes render correctly:
But, when I add a reference to Telerik UI for .NET Maui version 7.1.0 (latest at the time this was written), I get this:
Note: I didn't even add UseTelerik() to the Builder in the MauiProgram.cs, just added the Nuget package.
Changing the WidthRequest, HorizontalOptions, MinWidthRequest, etc. does not affect their size. They do render correctly in iOS and Android, though.
If I then remove the UI for .NET Maui Nuget package, they go back to working.
In our main application, we are heavily dependent on Telerik components and have a substantial number of customers using the Windows version of our application, so this heavily impacts our ability to ship. Particularly since the Maui 8.0.90 fixes other bugs that we needed addressed.
I've attached my sample project with the Telerik UI for .NET Maui package installed. You can remove it to see the normal operation of the Entry boxes.
Hi Team,
I would like to be able to have client-side filtering/sorting/grouping capabilities for large backend datasets that cannot be entirely loaded on the client.
As it stands now, the DataGrid (and other data components) can only operate on the data that is has in the local DataView. This means that I need to build a custom filtering solution that prefilters/presorts the backend data before paging and loading it into the DataGrid.
To accomplish the "full view", we need a data layer that understands both the UI as well as the backend. The Telerik UI for WPF product has an excellent solution for this, known as the WPF EntityFrameworkCoreDataSource - Overview - Telerik UI for WPF and the WPF DataServiceDataSource - Overview - Telerik UI for WPF.
If such a feature can be added to Telerik UI for MAUI, it would be an excellent bonus for the component suite in data heavy applications.
Thank you,
Peter
ListView with a TemplateSelector crashes on iOS 16 device!
<telerik:RadListView ItemTemplate="{StaticResource ActTempSelector}" ItemsSource="{Binding Suggestions}">
</telerik:RadListView>
log output is the following:
2022-10-08 20:44:46.810 Xamarin.PreBuilt.iOS[1593:343579] *** NSForwarding: warning: object 0x281edbea0 of class 'Telerik_Maui_Controls_Compatibility_DataControlsRenderer_iOS_TKExtendedListView' does not implement methodSignatureForSelector: -- trouble ahead
2022-10-08 20:44:46.810 Xamarin.PreBuilt.iOS[1593:343579] *** NSForwarding: warning: object 0x281edbea0 of class 'Telerik_Maui_Controls_Compatibility_DataControlsRenderer_iOS_TKExtendedListView' does not implement doesNotRecognizeSelector: -- abort
Hi,
Do you have on your roadmap to include a Shimmer View / Control as part of your .NET MAUI offerings to tidy up a screen loading indication.
From a UI/UX perspective, a shimmer sits better with our user community rather than a loading indicator.
Thank you,
Shane
I would like to draw attention to this at an early stage.
When using MAUI Nightly 8.0.20-nightly.10376, the app crashes immediately upon startup if you set Telerik Popup Settings in the MAUI Styles
See min repro example https://github.com/baaaaif/MauiNightlyCrash
<MauiVersion>8.0.20-nightly.10376</MauiVersion>
<Style TargetType="telerik:RadTimePicker">
<Setter Property="PopupSettings">
<Setter.Value>
<telerik:PickerPopupSettings IsHeaderVisible="False" />
</Setter.Value>
</Setter>
</Style>
From the inner Exception...:
Name | Value | Type | |
---|---|---|---|
â—¢ | InnerException | {"Object reference not set to an instance of an object."} | System.Exception {System.NullReferenceException} |
at Microsoft.Maui.Controls.AppThemeBinding.AppThemeProxy..ctor(Element parent, AppThemeBinding binding) at Microsoft.Maui.Controls.AppThemeBinding.Apply(Object context, BindableObject bindObj, BindableProperty targetProperty, Boolean fromBindingContextChanged, SetterSpecificity specificity) at Microsoft.Maui.Controls.BindableObject.SetBinding(BindableProperty targetProperty, BindingBase binding, SetterSpecificity specificity) at Microsoft.Maui.Controls.BindableObject.SetBinding(BindableProperty targetProperty, BindingBase binding) at Microsoft.Maui.Controls.BindableObjectExtensions.SetAppTheme[T](BindableObject self, BindableProperty targetProperty, T light, T dark) at Microsoft.Maui.Controls.BindableObjectExtensions.SetAppThemeColor(BindableObject self, BindableProperty targetProperty, Color light, Color dark) at Telerik.Maui.Controls.PickerPopupSettings.OnPopupOutsideBackgroundColorPropertyChanged(Color color) at Telerik.Maui.Controls.PickerPopupSettings..ctor() at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean wrapExceptions)
The Bottom Sheet component provides an intuitive way to display additional content to the users. It appears on the bottom of a screen as an overlay and presents users with a choice of actions that they must take.
Progress/Telerik --
I would like Telerik to extend the Microsoft .NET MAUI MediaPicker control to support the selection of MULTIPLE Photos and/or Videos from the Image Gallery.
I believe this is a reasonably standard scenario for use cases where the user takes multiple Photos or Videos with the Camera and then would like to upload them to a server for storage in a web app and database.
The current Microsoft MediaPicker supports the selection of a SINGLE item only.
.NET MAUI - Platform Integration - Media - Photos and Videos
And while there are several GitHub libraries that have done this for Xamarin.Forms (and rely on Xamarin.Essentials), they are either archived or not updated in a timely manner like a 3rd Party - Paid For - Control would be.
Even Telerik/Progress has recently done a Blog Post on how to use the Microsoft Control - Leomaris Reyes published this:
Getting Started with the Media Picker in .NET MAUI
Also, I believe this Feature Request is asking for the same feature:
https://feedback.telerik.com/maui/1552553-upload-images-file-via-in-net-maui
Now, for me personally, I only need multiple image selection. So, if that's easier without the support for the other pieces, I would be happy. To be complete, I'm thinking others would need to select multiple videos.
From Ms. Reyes Blog Post....
private async void TakePhoto(object sender, EventArgs e)
{
FileResult photo = await MediaPicker.Default.PickPhotoAsync(new MediaPickerOptions
{
Title = "Select your photo"
});
// Here, add the code that is being explained in the next step.
}
The new control would have something like this:
private async void TakePhoto(object sender, EventArgs e)
{
IEnumerable<FileResult> photos = await RadMediaPicker.PickPhotosAsync(new MediaPickerOptions
{
Title = "Select your photos"
});
// Here, add the code to loop through and process the selected images
}
Please let me know if you require additional information.
Hi,
Similar to WPF: WPF DataServiceDataSource - Overview - Telerik UI for WPF
Add gRPC as an alternative to WCF.
Thanks,
Although Maui has SpreadProcessing, it lacks a matching control. For the very different WPF platform you have one I use, and it would be helpful in Maui to display and readily edit class instances with numerous properties. I realize it would be a challenge to fit into mobile screens, but I do hope you will consider it, as I am trying to get all my current WPF features into my Maui work-alike. Thank you.
David Pressman