I've tested a couple of scenarios and found that in the following cases, the swipe on the tab view does not work on Android
Scenario 1: Controls with gesture recognizers
The first label has a TapGestureRecognizer while the 2nd does not. In my testing, swiping only works on the 2nd label. Note I've tested on several types of gesture recognizers, with and without actual commands. Result stays the same
<telerik:TabViewItem HeaderText="Header">
<Grid BackgroundColor="AliceBlue" RowDefinitions="*,*,*">
<Label
Grid.Row="0"
BackgroundColor="Orange"
HorizontalTextAlignment="Center"
Text="Label With Gesture Recognizer (not working on Android)">
<Label.GestureRecognizers>
<TapGestureRecognizer />
</Label.GestureRecognizers>
</Label>
<Label
Grid.Row="1"
BackgroundColor="AliceBlue"
HorizontalTextAlignment="Center"
Text="Label No Gesture Recognizer (works)" />
</Grid>
</telerik:TabViewItem>
Scenario 2: CollectionView
See below example, but when a CollectionView is swiped over, the swipe does not work<telerik:TabViewItem HeaderText="Log graph">
<Grid BackgroundColor="Orange" RowDefinitions="*,*">
<Grid.Resources>
<ResourceDictionary>
<x:Array x:Key="TestData" Type="{x:Type Color}">
<Color>Aqua</Color>
<Color>Black</Color>
<Color>Blue</Color>
<Color>Fuchsia</Color>
<Color>Gray</Color>
<Color>Green</Color>
</x:Array>
</ResourceDictionary>
</Grid.Resources>
<CollectionView BackgroundColor="Purple" ItemsSource="{StaticResource TestData}">
<CollectionView.ItemTemplate>
<DataTemplate>
<BoxView HeightRequest="50" Color="{Binding}" />
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
<Label
Grid.Row="1"
BackgroundColor="Red"
Text="this works" />
</Grid>
</telerik:TabViewItem>
I'm sure there's more but these two scenarios are prevelant in our app due to custom controls being used as well as collectionviews.
Tested on iOS without issue.
Hey Team,
I have question for you. Do we support to open dropdown list when RadAutoComplete gets focus?
If yes, how could we I it? Can you provide an example here?
if no, will we add this functionality in the future?
Thanks
Allen
Does the MAUI UI Toolkit work with the MAUI MVVM Community toolkit (), specifically the RelayCommand.
I am trying to configure the ListPicker to work with a RelayCommand but its not firing.
I am using the ListPicker on Windows, Latest Visual Studio, .net and Telerik versions.
XAML
<telerik:RadListPicker x:Name="WorkflowPicker" Placeholder="Select Workfow" ItemsSource="{Binding Workflows, Mode=TwoWay}" DisplayMemberPath="Name" PickerMode="DropDown" IsLooping="False" WidthRequest="300" Margin="3" BackgroundColor="Transparent" SelectedItem="{Binding SelectedWorkflow}">
<telerik:RadListPicker.DropDownSettings>
<telerik:PickerDropDownSettings AcceptCommand="{Binding OnWorkflowsPickerAcceptRelay}" CancelCommand="{Binding WorkflowsPickerCancelCommand}" />
</telerik:RadListPicker.DropDownSettings>
<telerik:RadListPicker.ItemTemplate>
<DataTemplate>
<Label Text="{Binding Name}" HorizontalTextAlignment="Start" VerticalTextAlignment="Center"/>
</DataTemplate>
</telerik:RadListPicker.ItemTemplate>
</telerik:RadListPicker>
Page Model
public ICommand WorkflowsPickerCancelCommand { private set; get; }
public MainPageViewModel()
{
this.WorkflowsPickerCancelCommand = new Command(this.OnWorkflowsPickerCancel);
}
private void OnWorkflowsPickerCancel(object obj)
{
// This fires
}
[RelayCommand]
private void OnWorkflowsPickerAcceptRelay(object obj)
{
// This does not fire
}
I am trying to change the font size in my data form by creating a style in the styles.xml file. I was able to set the font size in a DataFormDatePickerEditor and DataFormRadEntryEditor, but not for the DataFormRadNumericEntry. I've tried targeting a label, a RadNumericInput, RadNumericEntry, Entry, RadEntry, and DataFormRadNumericEntryEditor for my style, but to no success. I would also like to set the font size for the validation message from the data annotations. I have attached below screenshots to clarify. Am I targeting the wrong type? Or is there a workaround to change the font sizing?
Thanks,
Nate
After trying too many unsuccessful things and wasting WAAAAAAY TOO MUCH TIME on something that should be simple, I have come to the realization that either the functionality I need is not documented, documented well, or doesn't exist. I just want to use a .png file as the image source for a ButtonToolbarItem, but the only samples, items in the docs, or Google imply that it can only be done with a FontImageSource. If this is true, I think this constraint was a very poor decision on Telerik's behalf. What if a font doesn't exist for the image I NEED to display on a button?
Help me with this or admit this was a shortsighted decision...
Thanks, Steve Miller
steve@mobynet.io
Hi, I found RadPopup has deferent opening behaviors on macOS and Windows. In my sample code, I have two buttons, each of which is attached to a popup.
(1) When I opened the first popup and want to show the second one by clicking Button2. In Windows, I can just directly click Button2 with one click, but in macOS, I need two clicks on Button2: first click for closing Popup1 and 2nd click for showing Popup2.
(2) If I double clicked on Button1, in macOS, the Popup1 would open and then Closed. While in Windows, the Popup1 would keep open.
Hi,
I got following binding errors for RadDataGrid in run time.
You can reproduce these errors in your sample project SDKBrowserMaui
(1) Run SDKBrowserMaui app;
(2) Click DataGrid item from left panel;
(3) Click Sorting, you will see Binding failures in Visual Studio
Hi, I got Binding erros for RadListView
You can reproduce these errors in your SDKBrowserMaui sample project.
(1) Run SDKBrowserMaui in Debug mode;
(2) Type ListView in the top Search ComboBox, and select Getting Started -Xaml
(3) You will see errors in Visual Studio.
This is in a Maui Embedded Project. Other Telerik Controls are working.
Xaml:
<telerik:RadComboBox AutomationId="staticItemsComboBox">
<telerik:RadComboBox.ItemsSource>
<x:Array Type="{x:Type x:String}">
<x:String>USA</x:String>
<x:String>Uganda</x:String>
<x:String>Ukraine</x:String>
<x:String>Canada</x:String>
<x:String>France</x:String>
<x:String>Italy</x:String>
<x:String>United Kingdom</x:String>
<x:String>China</x:String>
<x:String>Japan</x:String>
</x:Array>
</telerik:RadComboBox.ItemsSource>
</telerik:RadComboBox>
StackTrace:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.TypeInitializationException: The type initializer for 'Telerik.Maui.Controls.RadComboBox' threw an exception.
---> System.TypeInitializationException: The type initializer for 'Telerik.Maui.Controls.ComboBoxConstants' threw an exception.
---> System.NullReferenceException: Object reference not set to an instance of an object.
at Telerik.Maui.Controls.ComboBoxConstants..cctor()
--- End of inner exception stack trace ---
at Telerik.Maui.Controls.RadComboBox..cctor()
--- End of inner exception stack trace ---
at System.Reflection.ConstructorInvoker.InterpretedInvoke(Object obj, Span`1 args, BindingFlags invokeAttr)
--- End of inner exception stack trace ---
at System.RuntimeType.CreateInstanceMono(Boolean nonPublic, Boolean wrapExceptions)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean wrapExceptions)
at System.Activator.CreateInstance(Type type, Boolean nonPublic, Boolean wrapExceptions)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at Microsoft.Maui.Controls.Xaml.CreateValuesVisitor.Visit(ElementNode node, INode parentNode) in D:\a\_work\1\s\src\Controls\src\Xaml\CreateValuesVisitor.cs:line 102
at Microsoft.Maui.Controls.Xaml.ElementNode.Accept(IXamlNodeVisitor visitor, INode parentNode) in D:\a\_work\1\s\src\Controls\src\Xaml\XamlNode.cs:line 159
at Microsoft.Maui.Controls.Xaml.ElementNode.Accept(IXamlNodeVisitor visitor, INode parentNode) in D:\a\_work\1\s\src\Controls\src\Xaml\XamlNode.cs:line 155
at Microsoft.Maui.Controls.Xaml.ElementNode.Accept(IXamlNodeVisitor visitor, INode parentNode) in D:\a\_work\1\s\src\Controls\src\Xaml\XamlNode.cs:line 155
at Microsoft.Maui.Controls.Xaml.RootNode.Accept(IXamlNodeVisitor visitor, INode parentNode) in D:\a\_work\1\s\src\Controls\src\Xaml\XamlNode.cs:line 212
at Microsoft.Maui.Controls.Xaml.XamlLoader.Visit(RootNode rootnode, HydrationContext visitorContext, Boolean useDesignProperties) in D:\a\_work\1\s\src\Controls\src\Xaml\XamlLoader.cs:line 207
at Microsoft.Maui.Controls.Xaml.XamlLoader.Load(Object view, String xaml, Assembly rootAssembly, Boolean useDesignProperties) in D:\a\_work\1\s\src\Controls\src\Xaml\XamlLoader.cs:line 78
at Microsoft.Maui.Controls.Xaml.XamlLoader.Load(Object view, String xaml, Boolean useDesignProperties) in D:\a\_work\1\s\src\Controls\src\Xaml\XamlLoader.cs:line 53
at Microsoft.Maui.Controls.Xaml.XamlLoader.Load(Object view, Type callingType) in D:\a\_work\1\s\src\Controls\src\Xaml\XamlLoader.cs:line 49
at Microsoft.Maui.Controls.Xaml.Extensions.LoadFromXaml[StopList](StopList view, Type callingType) in D:\a\_work\1\s\src\Controls\src\Xaml\ViewExtensions.cs:line 37
at TransportACE_Maui.Source.UI.StopList.InitializeComponent() in C:\apacheta_git\TransportACE_HME\TransportACE_Maui\Microsoft.Maui.Controls.SourceGen\Microsoft.Maui.Controls.SourceGen.CodeBehindGenerator\Source_Views_StopList.xaml.sg.cs:line 26
at TransportACE_Maui.Source.UI.StopList..ctor(StopListViewModel viewModel) in C:\apacheta_git\TransportACE_HME\TransportACE_Maui\Source\Views\StopList.xaml.cs:line 13
at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2[[Microsoft.Extensions.DependencyInjection.ServiceLookup.RuntimeResolverContext, Microsoft.Extensions.DependencyInjection, Version=7.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60],[System.Object, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].VisitCallSiteMain(ServiceCallSite callSite, RuntimeResolverContext argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitDisposeCache(ServiceCallSite transientCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2[[Microsoft.Extensions.DependencyInjection.ServiceLookup.RuntimeResolverContext, Microsoft.Extensions.DependencyInjection, Version=7.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60],[System.Object, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].VisitCallSite(ServiceCallSite callSite, RuntimeResolverContext argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.RuntimeServiceProviderEngine.<>c__DisplayClass4_0.<RealizeService>b__0(ServiceProviderEngineScope scope)
at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope)
at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType)
at Microsoft.Maui.MauiContext.WrappedServiceProvider.GetService(Type serviceType) in D:\a\_work\1\s\src\Core\src\MauiContext.cs:line 68
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService[StopList](IServiceProvider provider)
at TransportACE.Droid.StopsListMaui.OnCreate(Bundle bundle) in C:\apacheta_git\TransportACE_HME\TransportACE_Maui\Platforms\Android\Source\UITasks\StopsListMaui.cs:line 199