Dear Telerik Team,
As a dedicated and experienced computer scientist who has specialized in the domains of Ontology Development, Graph Data Systems, and Graph Information Theory, I write to you with a pressing concern that I believe is shared by a significant part of our developer community. The recent strategic decision by Microsoft to forgo a Visual Designer for UI design has sent waves of confusion and discord through the ecosystem of UI/UX Design and Development.
With this absence, Microsoft has inadvertently cast aside not just Telerik, but developers of all kinds who are involved in crafting native desktop experiences. It's puzzling to determine the precise reasons for this decision, but if it's primarily business-oriented, I dare to opine that it's a peculiar one at best.
Remembering back, I recollect that a crucial motivation behind Microsoft's creation of Blend was to establish the much-needed separation of concerns between UI design and UI implementation. This was not just a handy tool, but a philosophy that fundamentally transformed how we approach UI development. Rare indeed is the desktop UI developer who possesses the innate talent and skill set to conceive effective and aesthetic user interfaces.
The inception of Blend stimulated a new paradigm that nurtures the coexistence of UI design and UI implementation as individual workflows, each executed by different teams with their own expertise. A UI Designer could work within Blend to create robust UI prototypes and promptly present these to stakeholders. Subsequent iterations of Blend even allowed designers to craft, through declarative means (no-code/low-code), sample data and data-binding that could be repurposed as the UI design transitioned into the implementation phase.
The dismissal of a UI designer solution leaves a void in this vital workflow. Consequently, this essential separation of concerns is at risk of collapsing, and the potential ramifications of this development could be detrimental to our field.
This is where I believe Telerik can take a pivotal role. Telerik is renowned for its dedication to developer success and its strong suite of UI controls and tools. You have the opportunity, the talent, and the credibility to build a UI Designer for MAUI and WinUI that could fill the vacuum left by Microsoft's recent decision. By undertaking this task, Telerik could continue to carry the torch for the essential philosophy of separating UI design from UI implementation, a philosophy that has driven so much progress in our field.
With respect and hope for the future,
Tavi Truman

Hi Telerik.
I need to use Grid inside RadScrollView.
Whereas when trying to use let say, Grid/StackLayout/CollectionView the child content doesn't occupy the complete width of that of the device.
NOTE:
1. The RadScrollView occupies the complete width of that of device, only the child content doesn't occupy the complete width.
2. If the RadScrollView is removed the same child content occupies the complete width.
Code:
Sample Page:
Thanks,
Mohammed Rameez Raza.

Hi,
I'm trying to replicate the demo implementation of the pdfviewer control, but it doesn't work. Am I forgetting something?
1. The pdf document. HAve Build Action to Embedded resource
2. The view
3. Finally, the code-behind

Hi Telerik,
Is there any way to change the selected and unselected images indicator color for RadSlideView in MAUI.
NOTE: Have looked into the IndicatorStyle property, but there is not style property to change indicator color in it.
The below is the screenshot how it looks now.
Thanks,
Mohammed Rameez Raza.

Hi Telerik,
I am using RadSlideView to display images, but the to swipe from one image to another, the swipe is not working when done on the image.
Whereas when done anywhere outside of the image (i.e. any where inside RadSlideView other than image) it works.
The below is the code that I am using.
NOTE: Same code works fine in Xamarin and not in MAUI.
Thanks,
Mohammed Rameez Raza.

This is mainly a question for me as it wasted about an hour of my time today...
I have a datagrid where I have attached two commands: BeginEdit and CommitEdit.
I have set breakpoints in each of these command classes and the BeginEdit breakpoint always gets hit, but the CommitEdit will only break if you select another cell or row in the datagrid and NOT when the datagrid loses focus. It appears that something is doing a commit as when I look at the data after I have edited and left the datagrid form, the change was made to the viewmodel that the datagrid row was displaying.
As I stated, I wasted too much time trying to figure out how to perform an edit in my datagrid, but your documentation says NOTHING about there being some catchall trap that performs the commit. Either this is a bug - the CommitEdit command IS NOT executed when the cell loses focus or your documentation needs to be updated...
It took waaaaaaaaaaaaaaaaay toooooooooooo long to figure this out...

My guess, by looking at the code, there is no way to do this. This is a HUGE design mistake on Telerik's behalf. If there is a way, please enlighten me, if not, please open a feature request to allow this behavior.
Thanks, Steve

I need to use the RadAccordion, but I'm not seeing any documentation or way in code to assign a collection of RadAccordionItem. I have a collection of items that need to be displayed using the according, not static items with dynamic content.
Can you point me to some documentation or a way to assign a collection to the accordionitems?
Thanks
Billy

Greetings,
I needed to reimage my test machine and when I tried to configure the NuGet Telerik definition in the NuGet Package Manager, I probably entered my password incorrectly. I cannot find any menu item that would allow me to correct it. I checked the box "Remember my password" or whatever the checkbox's text was on the Telerik login screen. I am getting an "Unauthorized" response from your website...
I think it is an oversight on your behalf to have no way to correct something like this unless you have a secret way to do it!
Following the instructions to create an entry in the Package sources dialog in the NuGet Package Manager, I created a
Name: Telerik NuGet
Source: https://nuget.telerik.com/v3/index.json
This works on my development machine, just not my test machine - which seems clogged up now that you are preventing me from retyping my password.
I downloaded the Telerik.UI.forMaui package from your website and added a local pointer to my local (C:\Program Files\Telerik\Packages) and got it running, but...
I really want to correct my password if I need to reference something else that isn't in the package I mentioned above. How do I do that?
Thanks! Steve

I updated the version of the Telerik controls from 5.0.1 to 6.0.0 and some popups have started to throw errors. The odd thing is that not all popups throw this exception...
In my formatted log (using NLog) I see this when I try to open a certain popup. This popup worked just minutes prior to the upgrade as I added some functionality to it. As soon as I upgraded to 6.0, it bombs...
----------------------------------
2023-07-23 10:15:41.4515 ERROR
Call site: MauiProgram.FirstChanceException
Method name: MobyClient.MauiProgram.FirstChanceException
Line: 0
Exception Type: System.Runtime.InteropServices.COMException
Exception Message: No installed components were detected.
Stack Trace: at WinRT.DelegateExtensions.DynamicInvokeAbi(Delegate del, Object[] invoke_params)
at WinRT.DelegateExtensions.DynamicInvokeAbi(Delegate del, Object[] invoke_params)
at ABI.System.Collections.Generic.IVectorMethods`1.Append(IObjectReference obj, T value)
at Microsoft.Maui.Handlers.ViewHandler`2.SetupContainer()
at Microsoft.Maui.Handlers.LabelHandler.SetupContainer()
at Microsoft.Maui.Handlers.LabelHandler.MapBackground(ILabelHandler handler, ILabel label)
at Microsoft.Maui.Controls.Element.OnPropertyChanged(String propertyName)
at Microsoft.Maui.Controls.BindableObject.SetValueActual(BindableProperty property, BindablePropertyContext context, Object value, Boolean currentlyApplying, SetValueFlags attributes, Boolean silent)
at Microsoft.Maui.Controls.BindableObject.SetValueCore(BindableProperty property, Object value, SetValueFlags attributes, SetValuePrivateFlags privateAttributes)
at Microsoft.Maui.Controls.BindableObject.SetValue(BindableProperty property, Object value, Boolean fromStyle, Boolean checkAccess)
at Microsoft.Maui.Controls.Setter.Apply(BindableObject target, Boolean fromStyle)
at Microsoft.Maui.Controls.Style.ApplyCore(BindableObject bindable, Style basedOn)
at Microsoft.Maui.Controls.Style.Microsoft.Maui.Controls.IStyle.Apply(BindableObject bindable)
at Microsoft.Maui.Controls.MergedStyle.SetStyle(IStyle implicitStyle, IList`1 classStyles, IStyle style)
at Microsoft.Maui.Controls.MergedStyle.OnImplicitStyleChanged()
at Microsoft.Maui.Controls.BindableObject.SetValueCore(BindableProperty property, Object value, SetValueFlags attributes, SetValuePrivateFlags privateAttributes)
at Microsoft.Maui.Controls.Element.OnResourcesChanged(IEnumerable`1 values)
at Microsoft.Maui.Controls.VisualElement.OnParentResourcesChanged(IEnumerable`1 values)
at Microsoft.Maui.Controls.Element.OnResourcesChanged(IEnumerable`1 values)
at Microsoft.Maui.Controls.VisualElement.OnParentResourcesChanged(IEnumerable`1 values)
at Microsoft.Maui.Controls.Element.OnResourcesChanged(IEnumerable`1 values)
at Microsoft.Maui.Controls.VisualElement.OnParentResourcesChanged(IEnumerable`1 values)
at Microsoft.Maui.Controls.Element.OnResourcesChanged(IEnumerable`1 values)
at Microsoft.Maui.Controls.VisualElement.OnParentResourcesChanged(IEnumerable`1 values)
at Microsoft.Maui.Controls.Element.OnResourcesChanged(IEnumerable`1 values)
at Microsoft.Maui.Controls.VisualElement.OnParentResourcesChanged(IEnumerable`1 values)
at Microsoft.Maui.Controls.Element.set_Parent(Element value)
at Telerik.Maui.Controls.PopupBase.IsOpenPropertyChanged(Boolean oldValue, Boolean newValue)
at Telerik.Maui.Controls.PopupBase.<>c.<.cctor>b__124_0(BindableObject b, Object o, Object n)
at Microsoft.Maui.Controls.BindableObject.SetValueCore(BindableProperty property, Object value, SetValueFlags attributes, SetValuePrivateFlags privateAttributes)
at Microsoft.Maui.Controls.BindableObject.SetValue(BindableProperty property, Object value, Boolean fromStyle, Boolean checkAccess)
at Microsoft.Maui.Controls.BindableObject.SetValue(BindableProperty property, Object value)
at Telerik.Maui.Controls.PopupBase.set_IsOpen(Boolean value)
at MobyClient.ViewModels.InvitationsViewModel.FindSomeone() in C:\Development\MobyNet\Dev\MobyClient\MobyClient\ViewModels\InvitationsViewModel.cs:line 121
at CommunityToolkit.Mvvm.Input.RelayCommand.Execute(Object parameter)
at Telerik.Maui.Controls.ButtonToolbarItemView.ExecuteCommand()
at Telerik.Maui.Controls.ButtonToolbarItemView.OnClicked()
at Telerik.Maui.Controls.ButtonToolbarItemView.Telerik.Maui.Controls.IToolStripClickableView.OnClicked()
at Telerik.Maui.Controls.RadToolbar.OnContentTapped(Point touchLocation)
at Telerik.Maui.Controls.RadToolbar.OnContentTapped(Object sender, ITouchLocation eventArgs)
at Telerik.Maui.NativeGestureRecognizer.NativeView_Tapped(Object sender, TappedRoutedEventArgs e)
at WinRT._EventSource_global__Microsoft_UI_Xaml_Input_TappedEventHandler.EventState.<GetEventInvoke>b__1_0(Object sender, TappedRoutedEventArgs e)
at ABI.Microsoft.UI.Xaml.Input.TappedEventHandler.Do_Abi_Invoke(IntPtr thisPtr, IntPtr sender, IntPtr e)
Additional Info: System.Runtime.InteropServices.COMException: No installed components were detected.
----------------------------------The error message is horrible as it provides no additional context, so I have no idea what is missing!
Up until this morning, I had my NuGet package manager looking here https://api.nuget.org/v3/index.json and selected the new version. This is when the errors started. It was working just minutes prior when I was using 5.0.1. So, I downloaded the msi and installed it. That didn't fix it so I pointed my NuGet Telerik source to the local packages C:\Program Files\Telerik\Telerik_UI_for_Maui_600\Packages, found the 6.0 package and still no success. When I downgrade to 5.1 (not 5.0.1) it works...
I have a popup service that defines the popup that doesn't work as follows:
public void InitializePopups () {
if (_isInitialized) return;
// Find someone popup.
FindContactsViewModel = new FindContactsViewModel (_logger, _mobyConfigurationManager, this);
var popupContent = (View) Application.Current.Resources["FindContactsPopup"];
popupContent.BindingContext = FindContactsViewModel;
FindSomeonePopup = new RadPopup {
Content = popupContent,
Placement = PlacementMode.Center
};
// Find someone results popup.
FindContactsResultsViewModel = new FindContactsResultsViewModel (_logger, this);
popupContent = (View) Application.Current.Resources["FindContactsResultsPopup"];
popupContent.BindingContext = FindContactsResultsViewModel;
FindSomeoneResultsPopup = new RadPopup {
Content = popupContent,
Placement = PlacementMode.Center
};
_logger.Debug ($"{GetType ().Name} is initialized.");
_isInitialized = true;
}The xaml that I use for these two popups is:
<!--
Common Popups
-->
<!-- Find Contacts Popup -->
<telerik:RadBorder
x:DataType="viewModels:FindContactsViewModel"
x:Key="FindContactsPopup"
BackgroundColor="{StaticResource Background_Dark}"
BorderColor="Lime"
BorderThickness="1"
CornerRadius="8"
HorizontalOptions="Center"
Padding="10"
VerticalOptions="Start"
WidthRequest="400">
<Grid
RowDefinitions="*, Auto"
Margin="3">
<telerik:RadBorder
Grid.Row="0"
BackgroundColor="{StaticResource Background_Dark}"
BorderColor="White"
BorderThickness="1"
CornerRadius="8"
Padding="5"
VerticalOptions="Start">
<Grid
RowDefinitions="Auto, *"
Margin="3">
<Label
Grid.Row="0"
FontSize="16"
FontAttributes="Bold"
HorizontalOptions="Center"
Text="{x:Static strings:LabelResources.LabelFindContactsHeader}"
TextColor="White"
VerticalOptions="Start" />
<Editor
Grid.Row="1"
AutoSize="TextChanges"
BackgroundColor="White"
Margin="1,11,1,1"
Placeholder="{x:Static strings:LabelResources.PlaceholderEnterAddressesToFind}"
PlaceholderColor="Gray"
Text="{Binding FindSomeoneList}"
TextColor="Black"
VerticalOptions="Start" />
</Grid>
</telerik:RadBorder>
<HorizontalStackLayout
Grid.Row="1"
HorizontalOptions="End"
Margin="0,10,0,0"
VerticalOptions="End">
<telerik:RadButton
Command="{Binding ShowFindSomeoneResultsCommand}"
FontSize="14"
HeightRequest="40"
Text="{x:Static strings:LabelResources.LabelFind}"
WidthRequest="90" />
<telerik:RadButton
Command="{Binding CancelFindContactsCommand}"
FontSize="14"
HeightRequest="40"
Margin="8,0,0,0"
Text="{x:Static strings:LabelResources.LabelCancel}"
WidthRequest="90" />
</HorizontalStackLayout>
</Grid>
</telerik:RadBorder>
<!-- Find Contacts Results Popup -->
<telerik:RadBorder
x:DataType="viewModels:FindContactsResultsViewModel"
x:Key="FindContactsResultsPopup"
BackgroundColor="{StaticResource Background_Dark}"
BorderColor="Lime"
BorderThickness="1"
CornerRadius="8"
HorizontalOptions="Center"
Padding="10"
VerticalOptions="Start"
WidthRequest="400">
<Grid
RowDefinitions="*, Auto"
Margin="3">
<telerik:RadBorder
Grid.Row="0"
BackgroundColor="{StaticResource Background_Dark}"
BorderColor="White"
BorderThickness="1"
CornerRadius="8"
Padding="5"
VerticalOptions="Start">
<Grid
RowDefinitions="Auto, *"
Margin="3">
<Label
Grid.Row="0"
FontSize="16"
FontAttributes="Bold"
HorizontalOptions="Center"
Text="{x:Static strings:LabelResources.LabelFindContactsResultsHeader}"
TextColor="White"
VerticalOptions="Start" />
<telerik:RadDataGrid
x:DataType="viewModels:FindContactsViewModel"
x:FieldModifier="Public"
x:Name="FindContactsDataGrid"
Grid.Row="1"
AutoGenerateColumns="False"
BackgroundColor="White"
CanUserReorderColumns="False"
CanUserResizeColumns="True"
CurrentCellStyle="{StaticResource CurrentCellStyle}"
GridLinesColor="LightGray"
GridLinesThickness="1"
GridLinesVisibility="Both"
GroupHeaderStyle="{StaticResource GroupHeaderStyle}"
HeightRequest="400"
ItemsSource="{Binding Contacts}"
Margin="1,11,1,1"
MouseHoverStyle="{StaticResource MouseHoverStyle}"
RowBackgroundStyle="{StaticResource RowBackgroundStyle}"
RowHeight="30"
SelectionMode="None"
SelectionStyle="{StaticResource SelectionStyle}"
SelectionUnit="Row"
ShowColumnFooters="False"
ShowGroupFooters="False"
ShowGroupHeaderAggregates="False"
UserEditMode="None"
UserFilterMode="Disabled"
UserGroupMode="Disabled"
UserSortMode="Multiple">
<telerik:RadDataGrid.Columns>
<telerik:DataGridTextColumn
CellContentStyle="{StaticResource CellContentStyle}"
HeaderStyle="{StaticResource ColumHeaderStyle}"
HeaderText="{x:Static strings:LabelResources.LabelContactId}"
PropertyName="ContactId"
SizeMode="Stretch" />
<telerik:DataGridTextColumn
CellContentStyle="{StaticResource CellContentStyle}"
HeaderStyle="{StaticResource ColumHeaderStyle}"
HeaderText="{x:Static strings:LabelResources.LabelMobyUser}"
SizeMode="Auto">
<telerik:DataGridTextColumn.CellContentTemplate>
<DataTemplate>
<Label
HorizontalOptions="Center"
Margin="0"
Padding="8,0,0,0"
Text="{Binding IsMobyUser, Converter={StaticResource BoolToString}, ConverterParameter='YesNo'}"
TextColor="Black"
VerticalOptions="Center" />
</DataTemplate>
</telerik:DataGridTextColumn.CellContentTemplate>
</telerik:DataGridTextColumn>
</telerik:RadDataGrid.Columns>
</telerik:RadDataGrid>
</Grid>
</telerik:RadBorder>
<HorizontalStackLayout
Grid.Row="1"
HorizontalOptions="End"
Margin="0,10,0,0"
VerticalOptions="End">
<telerik:RadButton
Command="{Binding CloseFindContactsResultsCommand}"
FontSize="14"
HeightRequest="40"
Text="{x:Static strings:LabelResources.LabelClose}"
WidthRequest="90" />
</HorizontalStackLayout>
</Grid>
</telerik:RadBorder>
I have attached two screenshots showing that they do work...
Like I said, when I downgraded to 5.1 it works. The popups worked just minutes prior to the upgrade to 6.0.0. Other popups do work which makes this even more mystifying... These two above do not work and I cannot put my finger on why. I NEED the rich text editor that is in the new package so I need to upgrade pronto!
Looking forward to your response!
Steve