Telerik Forums
UI for .NET MAUI Forum
1 answer
24 views

When reloading a page containing RadRichTextEditor and updating the Source, the UI does not reflect the change in iOS only. The Source keeps the value that is assigned in the first page load. On Android, updating the Source after the first page load is properly reflected in the UI.

XAML:

<ContentPage
...
xmlns:telerik="http://schemas.telerik.com/2022/xaml/maui">
<Grid> ... <telerik:RadRichTextEditor x:Name="richTextEditor" /> <telerik:RadRichTextEditorToolbar x:Name="richTextEditorToolbar" RichTextEditor="{x:Reference richTextEditor}" /> ... </Grid> </ContentPage>
XAML.CS:
protected override void OnAppearing()
{
    base.OnAppearing();
    richTextEditor.Source = _vm.GetHtmlBody();
}

VIEWMODEL:

public string GetHtmlBody()
{
    return Value; // new value is assigned
}
Didi
Telerik team
 answered on 22 Oct 2024
1 answer
26 views

Hi

I start a new Maui project from scratch and use the code from the documentation of the RadSignaturePad (https://docs.telerik.com/devtools/maui/controls/signaturepad/getting-started) but when I build I get a unhandled win32 exception.

If I build on android emulator there is no exception but the signature pad doesn't appear.

Anyone else have problems making the signature pad work?
Thank you

Yana
Telerik team
 answered on 22 Oct 2024
2 answers
98 views

Hello,

if i use telerik maui version 6.6.0 RadDataGrid with target framework net8.0-windows10.0.19041.0 and Microsoft.Maui Controls 8.0.92 the following error occurs.

Thank you very much in advance.

Error:
Exception has been thrown by the target of an invocation.

 at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)
   at System.Reflection.MethodBaseInvoker.InvokeWithOneArg(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at Telerik.Maui.Controls.SkiaSharp.WriteableBitmapUtils.GetByteBuffer(IBuffer buffer)
   at Telerik.Maui.Controls.SkiaSharp.RadSKXamlCanvas.CreateBitmap(Double width, Double height, SKSizeI& unscaledSize, Single& dpi)
   at Telerik.Maui.Controls.SkiaSharp.RadSKXamlCanvas.Paint(Double width, Double height)
   at Telerik.Maui.Controls.SkiaSharp.RadSKXamlCanvas.ArrangeOverride(Size finalSize)
   at Microsoft.UI.Xaml.FrameworkElement.Microsoft.UI.Xaml.IFrameworkElementOverrides.ArrangeOverride(Size finalSize)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverrides.Do_Abi_ArrangeOverride_1(IntPtr thisPtr, Size finalSize, Size* result)
--- End of stack trace from previous location ---
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|38_0(Int32 hr)
   at WinRT.ExceptionHelpers.ThrowExceptionForHR(Int32 hr)
   at ABI.Microsoft.UI.Xaml.IUIElementMethods.Arrange(IObjectReference _obj, Rect finalRect)
   at Microsoft.UI.Xaml.UIElement.Arrange(Rect finalRect)
   at Microsoft.Maui.ViewHandlerExtensions.PlatformArrangeHandler(IViewHandler viewHandler, Rect rect)
   at Microsoft.Maui.Handlers.ViewHandler`2.PlatformArrange(Rect rect)
   at Microsoft.Maui.Controls.VisualElement.ArrangeOverride(Rect bounds)
   at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IView.Arrange(Rect bounds)
   at Telerik.Maui.Controls.Compatibility.DataGrid.MasterArranger.UpdatePainterRootSize()
   at Telerik.Maui.Controls.Compatibility.DataGrid.MasterArranger.Arrange(IEnumerable`1 nodes)
   at Telerik.Maui.Controls.Compatibility.DataGrid.RadDataGrid.LateArrange()
   at Telerik.Maui.Controls.Compatibility.DataGrid.RadDataGrid.UpdateUI(Double x, Double y, Double width, Double height)
   at Telerik.Maui.Controls.Compatibility.DataGrid.RadDataGrid.ArrangeChildren(Rect bounds)
   at Telerik.Maui.Controls.RadLayoutManager.ArrangeChildren(Rect bounds)
   at Microsoft.Maui.Controls.Layout.CrossPlatformArrange(Rect bounds)
   at Microsoft.Maui.Platform.MauiPanel.CrossPlatformArrange(Rect bounds)
   at Microsoft.Maui.Platform.MauiPanel.ArrangeOverride(Size finalSize)
   at Microsoft.Maui.Platform.LayoutPanel.ArrangeOverride(Size finalSize)
   at Microsoft.UI.Xaml.FrameworkElement.Microsoft.UI.Xaml.IFrameworkElementOverrides.ArrangeOverride(Size finalSize)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverrides.Do_Abi_ArrangeOverride_1(IntPtr thisPtr, Size finalSize, Size* result)
--- End of stack trace from previous location ---
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|38_0(Int32 hr)
   at WinRT.ExceptionHelpers.ThrowExceptionForHR(Int32 hr)
   at ABI.Microsoft.UI.Xaml.IUIElementMethods.Arrange(IObjectReference _obj, Rect finalRect)
   at Microsoft.UI.Xaml.UIElement.Arrange(Rect finalRect)
   at Microsoft.Maui.ViewHandlerExtensions.PlatformArrangeHandler(IViewHandler viewHandler, Rect rect)
   at Microsoft.Maui.Handlers.ViewHandler`2.PlatformArrange(Rect rect)
   at Microsoft.Maui.Controls.VisualElement.ArrangeOverride(Rect bounds)
   at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IView.Arrange(Rect bounds)
   at Microsoft.Maui.Layouts.VerticalStackLayoutManager.ArrangeChildren(Rect bounds)
   at Microsoft.Maui.Controls.Layout.CrossPlatformArrange(Rect bounds)
   at Microsoft.Maui.Platform.MauiPanel.CrossPlatformArrange(Rect bounds)
   at Microsoft.Maui.Platform.MauiPanel.ArrangeOverride(Size finalSize)
   at Microsoft.Maui.Platform.LayoutPanel.ArrangeOverride(Size finalSize)
   at Microsoft.UI.Xaml.FrameworkElement.Microsoft.UI.Xaml.IFrameworkElementOverrides.ArrangeOverride(Size finalSize)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverrides.Do_Abi_ArrangeOverride_1(IntPtr thisPtr, Size finalSize, Size* result)
--- End of stack trace from previous location ---
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|38_0(Int32 hr)
   at WinRT.ExceptionHelpers.ThrowExceptionForHR(Int32 hr)
   at ABI.Microsoft.UI.Xaml.IUIElementMethods.Arrange(IObjectReference _obj, Rect finalRect)
   at Microsoft.UI.Xaml.UIElement.Arrange(Rect finalRect)
   at Microsoft.Maui.ViewHandlerExtensions.PlatformArrangeHandler(IViewHandler viewHandler, Rect rect)
   at Microsoft.Maui.Handlers.ViewHandler`2.PlatformArrange(Rect rect)
   at Microsoft.Maui.Controls.VisualElement.ArrangeOverride(Rect bounds)
   at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IView.Arrange(Rect bounds)
   at Microsoft.Maui.Layouts.LayoutExtensions.ArrangeContent(IContentView contentView, Rect bounds)
   at Microsoft.Maui.Layouts.LayoutExtensions.ArrangeContentUnbounded(IContentView contentView, Rect bounds)
   at Microsoft.Maui.Controls.ScrollView.Microsoft.Maui.ICrossPlatformLayout.CrossPlatformArrange(Rect bounds)
   at Microsoft.Maui.Handlers.ScrollViewHandler.Microsoft.Maui.ICrossPlatformLayout.CrossPlatformArrange(Rect bounds)
   at Microsoft.Maui.Platform.MauiPanel.CrossPlatformArrange(Rect bounds)
   at Microsoft.Maui.Platform.MauiPanel.ArrangeOverride(Size finalSize)
   at Microsoft.Maui.Platform.ContentPanel.ArrangeOverride(Size finalSize)
   at Microsoft.UI.Xaml.FrameworkElement.Microsoft.UI.Xaml.IFrameworkElementOverrides.ArrangeOverride(Size finalSize)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverrides.Do_Abi_ArrangeOverride_1(IntPtr thisPtr, Size finalSize, Size* result)
--- End of stack trace from previous location ---
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|38_0(Int32 hr)
   at WinRT.ExceptionHelpers.ThrowExceptionForHR(Int32 hr)
   at ABI.Microsoft.UI.Xaml.IUIElementMethods.Arrange(IObjectReference _obj, Rect finalRect)
   at Microsoft.UI.Xaml.UIElement.Arrange(Rect finalRect)
   at Microsoft.Maui.ViewHandlerExtensions.PlatformArrangeHandler(IViewHandler viewHandler, Rect rect)
   at Microsoft.Maui.Handlers.ViewHandler`2.PlatformArrange(Rect rect)
   at Microsoft.Maui.Controls.ScrollView.ArrangeOverride(Rect bounds)
   at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IView.Arrange(Rect bounds)
   at Microsoft.Maui.Layouts.LayoutExtensions.ArrangeContent(IContentView contentView, Rect bounds)
   at Microsoft.Maui.Controls.ContentPage.Microsoft.Maui.ICrossPlatformLayout.CrossPlatformArrange(Rect bounds)
   at Microsoft.Maui.Platform.MauiPanel.CrossPlatformArrange(Rect bounds)
   at Microsoft.Maui.Platform.MauiPanel.ArrangeOverride(Size finalSize)
   at Microsoft.Maui.Platform.ContentPanel.ArrangeOverride(Size finalSize)
   at Microsoft.UI.Xaml.FrameworkElement.Microsoft.UI.Xaml.IFrameworkElementOverrides.ArrangeOverride(Size finalSize)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverrides.Do_Abi_ArrangeOverride_1(IntPtr thisPtr, Size finalSize, Size* result)
--- End of stack trace from previous location ---
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|38_0(Int32 hr)
   at WinRT.ExceptionHelpers.ThrowExceptionForHR(Int32 hr)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverridesMethods.ArrangeOverride(IObjectReference _obj, Size finalSize)
   at Microsoft.UI.Xaml.FrameworkElement.ArrangeOverride(Size finalSize)
   at Microsoft.UI.Xaml.FrameworkElement.Microsoft.UI.Xaml.IFrameworkElementOverrides.ArrangeOverride(Size finalSize)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverrides.Do_Abi_ArrangeOverride_1(IntPtr thisPtr, Size finalSize, Size* result)
--- End of stack trace from previous location ---
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|38_0(Int32 hr)
   at WinRT.ExceptionHelpers.ThrowExceptionForHR(Int32 hr)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverridesMethods.ArrangeOverride(IObjectReference _obj, Size finalSize)
   at Microsoft.UI.Xaml.FrameworkElement.ArrangeOverride(Size finalSize)
   at Microsoft.UI.Xaml.FrameworkElement.Microsoft.UI.Xaml.IFrameworkElementOverrides.ArrangeOverride(Size finalSize)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverrides.Do_Abi_ArrangeOverride_1(IntPtr thisPtr, Size finalSize, Size* result)
--- End of stack trace from previous location ---
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|38_0(Int32 hr)
   at WinRT.ExceptionHelpers.ThrowExceptionForHR(Int32 hr)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverridesMethods.ArrangeOverride(IObjectReference _obj, Size finalSize)
   at Microsoft.UI.Xaml.FrameworkElement.ArrangeOverride(Size finalSize)
   at Microsoft.UI.Xaml.FrameworkElement.Microsoft.UI.Xaml.IFrameworkElementOverrides.ArrangeOverride(Size finalSize)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverrides.Do_Abi_ArrangeOverride_1(IntPtr thisPtr, Size finalSize, Size* result)
--- End of stack trace from previous location ---
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|38_0(Int32 hr)
   at WinRT.ExceptionHelpers.ThrowExceptionForHR(Int32 hr)
   at ABI.Microsoft.UI.Xaml.IUIElementMethods.Arrange(IObjectReference _obj, Rect finalRect)
   at Microsoft.UI.Xaml.UIElement.Arrange(Rect finalRect)
   at Microsoft.Maui.Platform.WindowRootViewContainer.ArrangeOverride(Size finalSize)
   at Microsoft.UI.Xaml.FrameworkElement.Microsoft.UI.Xaml.IFrameworkElementOverrides.ArrangeOverride(Size finalSize)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverrides.Do_Abi_ArrangeOverride_1(IntPtr thisPtr, Size finalSize, Size* result)

Sebahattin
Top achievements
Rank 1
Iron
Iron
 answered on 17 Oct 2024
1 answer
50 views

Hi,

I want to bypass the showing of appointment view when clicking on slot or in appointment created.
and how can I modify the week header.

I want to modify the header to have only 1 letter for days name and i want to make more smaller
then in the slot I want to remove the scroll when clicked I want to not show the appointment view .

Yana
Telerik team
 answered on 11 Oct 2024
1 answer
24 views

I have the followin MainPage.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"
             xmlns:dataControls="http://schemas.telerik.com/2022/xaml/maui"
             xmlns:mauiApp8="clr-namespace:MauiApp8"
             x:Class="MauiApp8.MainPage"
             BindingContext="{Binding Source={RelativeSource Self}}">

    <Grid Margin="10"
          ColumnDefinitions="Auto, Auto, *">
        <dataControls:RadListView Grid.Column="0"
                                  ItemsSource="{Binding FooItems}">
            <dataControls:RadListView.ItemTemplate>
                <DataTemplate x:DataType="{x:Type mauiApp8:Foo}">
                    <dataControls:ListViewTemplateCell>
                        <dataControls:ListViewTemplateCell.View>
                            <Grid ColumnDefinitions="Auto, Auto"
                                  Padding="0, 4">
                                <Label Text="{Binding Name}"
                                       TextColor="{Binding Name}" />
                                <Label Text="{Binding Description}"
                                       Grid.Column="1" />
                            </Grid>
                        </dataControls:ListViewTemplateCell.View>
                    </dataControls:ListViewTemplateCell>
                </DataTemplate>
            </dataControls:RadListView.ItemTemplate>
        </dataControls:RadListView>

        <ListView Grid.Column="1"
                  ItemsSource="{Binding FooItems}">
            <ListView.ItemTemplate>
                <DataTemplate x:DataType="{x:Type mauiApp8:Foo}">
                    <ViewCell>
                        <Grid ColumnDefinitions="Auto, Auto"
                              Padding="0, 4">
                            <Label Text="{Binding Name}"
                                   TextColor="{Binding Name}" />
                            <Label Text="{Binding Description}"
                                   Grid.Column="1" />
                        </Grid>
                    </ViewCell>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>

        <Border Grid.Column="2"
                Background="Green" />
    </Grid>
</ContentPage>

Why doesn't the RadListView auto size the items correctly?

First column (red circle) is the RadListView which is cutoff.

Second column is the normal ListView which displays the text fully.

Code behind if needed is this:

 


public partial class MainPage : ContentPage
{
    public List<Foo> FooItems { get; set; }

    public MainPage()
    {
        FooItems =
        [
            new Foo("Hello", "Hello World this is a long text"),
            new Foo("Hello", "Hello World this is a very very very long text")
        ];

        InitializeComponent();
    }
}

public class Foo
{
    public string Name { get; set; }
    public string Description { get; set; }

    public Foo(string name, string description)
    {
        Name = name;
        Description = description;
    }
}

Didi
Telerik team
 answered on 10 Oct 2024
1 answer
23 views

Hi,

We are migrating xamarin to maui

I saw the one issue in here like we have a custom appointmens using in the scheduler if we have switched to landscape mode then the appointment's subject is not visible instead it shows ... 3dots 

Please help me fix it

Yana
Telerik team
 answered on 09 Oct 2024
1 answer
28 views

If I bind colors with DynamicResource syntax highlighted in the following example,  the exception "The name 'sender' does not exist in the current context" is thrown ,  do you have any insights for it?  

By the way, if I use StaticResource syntax,  it works properly.

Thanks.

            <telerik:GaugeRange Color="{DynamicResource MyColor}"
                                  From="0"
                                  To="150" />   
Yana
Telerik team
 answered on 09 Oct 2024
0 answers
48 views

We noticed that switching appointmentTemplate the first time activeViewDefinition is set to week (from day) there is a long update/load time on the view, so we sought to insert a loading overlay. (activated by setting a boolean on viewmodel to true).

We switch the template by looking into  PropertyChanged event with this method:

  private void MScheduler_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
  {
      if (e.PropertyName == "ActiveViewDefinition")
      {
          if (MScheduler.ActiveViewDefinition != null)
          {
              if (MScheduler.ActiveViewDefinition.Title == "Day")
              {
                  MScheduler.AppointmentTemplate = this.Resources["CustomAppointmentDataTemplate"] as DataTemplate;
              }
              else
              {
                  
                  MScheduler.AppointmentTemplate = this.Resources["CustomAppointmentDataTemplateWeek"] as DataTemplate;
              }
          }
      }
  }

However setting the boolean for the loading view just before appointmentTemplate = the weektemplate from resource.

Doesn't make it load until after the scheduler is done doing the updates needed.

So my question is, is there a better way to change the appointmenttemplate(so we avoid the 2-5 second freeze on the ui) or make a loading screen work so we can hide it?

 

inLogic
Top achievements
Rank 1
 updated question on 04 Oct 2024
1 answer
31 views

Hi!

I need help.

I would like the icon to be at the end and keep the same direction as in the image
> closed
v open

 

In this example below it is at the end but changes direction.

https://www.telerik.com/forums/icon-in-accordion-header

Regards,

Rodrigo.

Yana
Telerik team
 answered on 25 Sep 2024
1 answer
45 views
Hi Team,

I am using RadListPicker in MAUI application. Title is not showing in UWP as it is showing in Android and iOS.

Here is the code I am using.

In Xaml page

    <telerikPrimitives:RadListPicker AutomationId="ProjectName" VerticalOptions="CenterAndExpand" Grid.Column="2" Placeholder="Project" DisplayLabelStyle="{StaticResource displayLabelStyle}"
                                     HorizontalOptions="CenterAndExpand" BackgroundColor="{StaticResource DefaultTransparentColor}"
                                     ItemsSource="{Binding ResourceAssignedProjects}" DisplayMemberPath="Project" SelectedItem="{Binding ResourceSelectedProject}"
                                     BorderColor="{OnPlatform iOS={StaticResource DefaultTransparentColor}}">
    <telerikPrimitives:RadListPicker.ItemTemplate>
        <DataTemplate>
            <Label AutomationId="SelectProjectHomePage" 
                       Text="{Binding Project}" 
                       HorizontalTextAlignment="Center" 
                       VerticalTextAlignment="Center" 
                       TextColor="{StaticResource DefaultBlackColor}"/>
        </DataTemplate>
    </telerikPrimitives:RadListPicker.ItemTemplate>
    <telerikPrimitives:RadListPicker.PopupSettings>
        <telerikPrimitives:PickerPopupSettings AcceptButtonStyle="{StaticResource acceptButtonStyle}" 
                                                   CancelButtonStyle="{StaticResource cancelButtonStyle}" 
                                                   HeaderLabelStyle="{StaticResource headerLabelStyle}"
                                                   HeaderLabelText="{x:Static resources:AppResources.Project}" 
                                                   PopupViewStyle="{StaticResource popupViewStyle}" 
                                                   HeaderStyle="{StaticResource headerStyle}"/>
    </telerikPrimitives:RadListPicker.PopupSettings>
</telerikPrimitives:RadListPicker>

Using following version:


MAUI with .NET 8.0
CommunityToolkit.Maui 9.0.3
Telerik.UI.for.Maui :- 7.0.0


Kindly help me out with this.


Thanks & Regards,

Dilip.
Yana
Telerik team
 answered on 19 Sep 2024
Top users last month
Mila
Top achievements
Rank 1
Iron
Toya
Top achievements
Rank 1
Iron
Iron
Kyle
Top achievements
Rank 1
Omar
Top achievements
Rank 3
Iron
Iron
Iron
Les Baker
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?