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
Run SDKBrowserMaui example on WinUI
Navigate to DataGrid->LoadOnDemandCategory->LoadOnDemandExmaple
Start scrolling the grid using the scrollbar
Crash occurs on WinUI.
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.
I want to reset the scroll position because in our implementation, we have filter buttons that when clicked, fetch a new list from our web API.
It appears that the scroll position is being saved when a new list is assigned while the ComboBox is not focused.
I used RadListView in a Grid, Grid has ColumnSpacing,
for example:
<Grid
RowSpacing="1"
ColumnSpacing="1"
WidthRequest="305"
HeightRequest="303"
BackgroundColor="#FF454545">
<Grid.RowDefinitions>
<RowDefinition Height="36"/>
<RowDefinition Height="28"/>
<RowDefinition Height="82"/>
<RowDefinition Height="50"/>
<RowDefinition Height="50"/>
<RowDefinition Height="50"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="152"/>
<ColumnDefinition Width="152"/>
</Grid.ColumnDefinitions>
<telerik:RadListView x:Name="listView" Grid.Row="5" Grid.ColumnSpan="2" WidthRequest="305">
<telerik:RadListView.ItemTemplate>
<DataTemplate>
<telerik:ListViewTemplateCell>
<telerik:ListViewTemplateCell.View>
<Grid BackgroundColor="Gray">
<Label Margin="10" Text="{Binding Name}" />
</Grid>
</telerik:ListViewTemplateCell.View>
</telerik:ListViewTemplateCell>
</DataTemplate>
</telerik:RadListView.ItemTemplate>
</telerik:RadListView>
</Grid>
I found the RadListView.Width is 304(ColumnDefinition plus), not 305.
On Windows when IsReadOnly state changes to true, the control state does not change, you can still edit the text.
Example:
<VerticalStackLayout >
<Switch IsToggled="{Binding IsReadOnly,Source={x:Reference EntryShareName}}"/>
<telerik:RadEntry x:Name="EntryShareName"
FontSize="14"
Placeholder="Enter text here"
PlaceholderColor="#99000000"
AutomationId="radEntry">
</telerik:RadEntry>
</VerticalStackLayout>
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
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.
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.