Hi Team,
This is specifically a request for you to bring over the SignaturePad control from UI for Xamarin either as as a compatibility shim, or as a new native MAUI handler.
Regards,
Jared
Hi Team,
Please introduce the ImageEditor component to Telerik UI for.NET MAUI
Thank you,
Manish
I am using the SDKBrowser app to demonstrate the problem. This does not happen on the emulator but on my physical device (Samsung S22). I have created a video and attached it.
When I enter a value into the Numeric input and click on the "." button, the entry does create a "," sign. This is fine but the cursor jumps back in front of the comma. I have to physically move the cursor back and can only then continue entering the decimal values.
The second problem is, if I accidently click the "." a second time after entering the decimal values, the app crashes.
I suspected it could be the language settings on the device. I am from South Africa and change the language of the device from English (South Africa) to English (United States) and then it works as expected. Regardless of this, I would expect the control to work with any culture.
A number of RadDataGrid properties can be successfully set in App.xaml, but setting others causes the control to display nothing -- at least in Android.
While I have not tested all possible settings, these results were found experimentally:
Can be used: BackgroundColor, DataOperationIndicatorMode, GridLinesThickness, HorizontalOptions, LoadOnDemandMode, Margin, MinimumHeightRequest, SelectionMode, UserSortMode, VerticalOptions, and ViewportBufferHeight.
Cannot be used in App.Xaml style: AutoGenerateColumns, GridLinesColor, GridLinesVisibility, LoadOnDemandBufferItemsCount, RowHeight, and SelectionUnit.
Hi Team,
Although UI for MAUI does not have a Calendar/Scheduler control... you're still forcing us to declare a NSCaldendarsUsage permission in info.plist because of some old code inside the native iOS static library inherited from UI for Xamarin.
I have some requests/comments for you:
I do understand that if I'm not using the Calendar in my app, the user will not be explicitly asked to approve permissions. However, this is unacceptable excuse because my org's application only uses the RadListView, but we still have to show that the calendar is a potential access point in the permissions manifest. In the world of security conscious users and enterprise security audits, this explanation is tiresome to hold up.
We've known about this problem for many years, and hopefully .NET MAUI can be a fresh break away from the headaches of Xamarin.
Thank you for your time and consideration,
Gerard
Progress Telerik WPF over the past 2.5/3 years has done a great job in introducing very useful UI concepts in WPF and we've embraced them in our development and our users find them useful. As .NET MAUI is generating greater gravity and interest, the technology remains at a significant distance because of the big feature-parity gap between MAUI and WPF. This is not a complaint as much as it is a notice; as we aren't a UI component authoring technology company new UI component development is not our focus. I am sure that you guys understand this and I am aware of the difference in design notions given the MAUI and WPF presentation and interactions goals; nonetheless, for ISVs like us, we have to choose the best, most stable, and cost-effective technologies and push the envelope as best as we can manage. So, love the excitement around MAUI but unless there is a way forward whereby one can migrate UI concepts from WPF to MAUI we can wait for MAUI to mature.
Tavi
I would like to see Blazor mobile bindings for the Telerik UI for MAUI suite, similar to your Experimental Blazor Mobile Bindings for UI for Xamarin.
Thank you,
Shabbir
Hello,
We are looking to port an existing Xamarin Forms app to MAUI. Can you please confirm that the RadAutoComplete control will be available? e.g.
<ContentPage
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:telerikInput="clr-namespace:Telerik.XamarinForms.Input;assembly=Telerik.Maui.Controls.Compatibility">
<telerikInput:RadAutoComplete />
Thanks.
To present content in an expandable container that can be easily expanded/collapsed by tapping on the header of the control.
I'm getting a NullReferenceException when trying to display a RadDataGrid that has a column where one of the objects in the PropertyName "chain" is null. For example, in your Columns -> Columns Overview section of your sample SDK browser (SDKBrowserMaui.Examples.DataGridControl.ColumnsCategory.ColumnsExample.Columns.xaml) the data grid is bound to a list of Clubs. If you add this code to Club (With nothing else. Keep Manager null):
private Person _manager;
public Person Manager
{
get { return _manager; }
set { UpdateValue(ref _manager, value); }
}
and then add this column to the grid:
<telerik:DataGridTextColumn PropertyName="Manager.Name"
HeaderText="Manager"/>
I'm not talking about the already existing Docking Layout (which is just like the DockPanel of WPF), but more like the RadDocking.
I'm missing the ability yo have Tabs, panes and groups, and having a pane docked out to a different window and to a different screen, as multiple windows is a feature supported by MAUI.
Hello,
TL;DR version - I request that the IFontElement interface (from Microsoft.Maui.Controls.Internals) be implemented on all Rad type controls that display text.
Detailed Version:
The CommunityToolkit.Maui.Markup nuget package provides some really nice extension methods that allow quick and easy configuring of controls without verbosity. When using the toolkit along side Telerik UI every extension I have tried works really well except for .Font(). On all standard MAUI controls you can just call the .Font() extension method and don't need to create a Style and apply it to an underlying property just to set a font size - you just set the size with .Font() as shown below. The below example code snippet shows the normal use of the toolkit on a standard MAUI Label and a RadTimeSpanPicker from the Telerik UI MAUI package.
The above example yields the following error, as does calling .Font() on pretty much every other Radxxxx control. Telerik UI controls seem to work really well with all the other extension methods I have tried from the toolkit except the .Font() extension method.
The type 'Telerik.Maui.Controls.RadTimeSpanPicker' cannot be used as type parameter 'TFontElement' in the generic type or method 'ElementExtensions.Font<TFontElement>(TFontElement, string?, double?, bool?, bool?)'. There is no implicit reference conversion from 'Telerik.Maui.Controls.RadTimeSpanPicker' to 'Microsoft.Maui.Controls.Internals.IFontElement'.
It would seem that implementing IFontElement would solve this.
This would be a nice feature and very helpful to anybody using the toolkit with Telerik controls because they could be used the same way as standard MAUI controls.
I looked under the hood a little bit and I believe the interface could/should be implemented on something like RadContentView which seems to be where most interfaces are inherited/implemented, and controls like RadTimePicker inherit from parent controls that eventually inherit from RadContentView.
Hi, I have created a page with a DataGrid on. I have set the datagrid as editable. When I run the app and double click on a cell the cell changes to an entry but the cell keeps on growing. It is also not very responsive then. Only when I tap somewhere else the cell changes back and it returns to its original size.
This only happens on Android.
Here is my XAML
<?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="FertilizerFarm.View.LeafAnalysisEditPage"
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
xmlns:telerik="http://schemas.telerik.com/2022/xaml/maui"
xmlns:viewmodel="clr-namespace:FertilizerFarm.ViewModel"
x:DataType="viewmodel:LeafAnalysisEditViewModel"
xmlns:custom_components="clr-namespace:FertilizerFarm.View.Components"
Title="Leaf Analysis Detail">
<ContentPage.ToolbarItems>
<ToolbarItem Text="Save"
IconImageSource="save_icon.png"
Command="{Binding EditCommand}"
Order="Primary"
Priority="0" />
</ContentPage.ToolbarItems>
<StackLayout>
<VerticalStackLayout>
<Label Text="Land" Margin="10,12,10,0" FontSize="10" FontAttributes="Bold" TextColor="{StaticResource Primary}"></Label>
<telerik:RadComboBox IsClearButtonVisible="False"
ItemsSource="{Binding LandList}"
DisplayMemberPath="LandNumber"
Margin="10,0,10,2"
SearchTextPath="LandNumber"
SelectedItem="{Binding SelectedLand, Mode=TwoWay}"
SelectionMode="Single"
IsEditable="True"/>
<telerik:RadDataGrid x:Name="dataGrid" UserEditMode="Cell" ItemsSource="{Binding LeafAnalysis.Detail}" AutoGenerateColumns="False" UserFilterMode="Disabled">
<telerik:RadDataGrid.Columns>
<telerik:DataGridTextColumn PropertyName="Chemical" CanUserEdit="False"
HeaderText="Chemical">
<telerik:DataGridTextColumn.CellContentStyle>
<telerik:DataGridTextCellStyle TextColor="Green"
FontSize="15"
SelectedTextColor="Orange" />
</telerik:DataGridTextColumn.CellContentStyle>
</telerik:DataGridTextColumn>
<telerik:DataGridTextColumn PropertyName="OptimalValue" CanUserEdit="False"
HeaderText="Optimal">
</telerik:DataGridTextColumn>
<telerik:DataGridTextColumn PropertyName="ChemicalValue"
HeaderText="Value">
</telerik:DataGridTextColumn>
<telerik:DataGridTextColumn PropertyName="Measurement" CanUserEdit="False"
HeaderText="">
</telerik:DataGridTextColumn>
</telerik:RadDataGrid.Columns>
</telerik:RadDataGrid>
</VerticalStackLayout>
</StackLayout>
</ContentPage>
Here is my ViewModel
using FertilizerFarm.Services;
namespace FertilizerFarm.ViewModel;
[QueryProperty(nameof(LeafAnalysis), "LeafAnalysis")]
public partial class LeafAnalysisEditViewModel : BaseViewModel
{
[ObservableProperty]
LeafAnalysis leafAnalysis;
[ObservableProperty]
bool isRefreshing;
[ObservableProperty]
ObservableCollection<Land> landList;
[ObservableProperty]
Land selectedLand;
[ObservableProperty]
string headerText;
public bool Initiated { get; protected set; }
IConnectivity connectivity;
private readonly LeafAnalysisService leafService;
private readonly LandService landService;
public LeafAnalysisEditViewModel(IConnectivity connectivity, LeafAnalysisService leafService, LandService landService)
{
this.connectivity=connectivity;
this.leafService=leafService;
this.landService=landService;
Initialize = GetData();
}
public Task Initialize { get; }
private async Task GetData()
{
var lands = await landService.GetLandsForUser();
LandList = new ObservableCollection<Land>(lands);
if (LandList.Count == 0)
{
// show error
}
else
{
SelectedLand = landList[0];
LeafAnalysis = await leafService.GetNew(LandList[0].Id);
}
Initiated = true;
}
[RelayCommand]
async Task Edit()
{
if (IsBusy)
return;
}
}
If you can't replicate I will scale down our current project to demonstrate the problem.