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>
protected override void OnAppearing()
{
base.OnAppearing();
richTextEditor.Source = _vm.GetHtmlBody();
}
VIEWMODEL:
public string GetHtmlBody()
{
return Value; // new value is assigned
}
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
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)
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 .
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;
}
}
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
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" />
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?
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.