Telerik Forums
UI for .NET MAUI Forum
1 answer
68 views
Hi, i'm try to order by chart of the bar horizontal, how to do? .net maui 
Antoan
Telerik team
 answered on 31 Aug 2022
1 answer
798 views

Binding multiple selected to RadComboBox after getting the data not work 

xaml code
 <telerik:RadComboBox ItemsSource="{Binding Skills}"
                                     SelectedItem="{Binding SelectedSkillItems,Mode=TwoWay}"
                                     Placeholder="Select Skills"
                                     MaximumWidthRequest="{OnPlatform WinUI='300', MacCatalyst='300'}"
                                     SelectionMode="Multiple"
                                     IsDropDownClosedOnSelection="False"/>
 

public ObservableCollection<string> Skills { get; set; }

 public ObservableCollection<string> SelectedSkillItems 
        {
            get => selectedSkillItems;
            set =>UpdateValue(ref selectedSkillItems, value);
        }

Skills = new ObservableCollection<string>() { ".NET MAUI", "Xamarin", "Blazor", "WPF", "WinUI", "Fiddler", "Sitefinity", "Test Studio", "Open Edge", "Kinvey", "DataRPM", "Corticon" };


 SelectedSkillItems =new ObservableCollection<string>(new List<string>() { "Xamarin", "WPF" });


Didi
Telerik team
 answered on 30 Aug 2022
0 answers
88 views
Is it possible to drag and drop a TabViewItem/Window to the extended screen?
atlanta
Top achievements
Rank 1
 asked on 28 Aug 2022
0 answers
1.3K+ views

I have a .Net MAUI app that uses shell TabBar:


     <TabBar>
        <Tab Title="Home" Icon="{StaticResource IconHome}">
            <ShellContent ContentTemplate="{DataTemplate local:MainPage}" />
        </Tab>
        <Tab Title="Coverage&#10;Calculator" Icon="{StaticResource IconCalculator}" >
            <ShellContent ContentTemplate="{DataTemplate calculator:CoverageCalculatorPage}" />
        </Tab>
        <Tab Title="Distributor&#10;Locator" Icon="{StaticResource IconLocator}">
            <ShellContent ContentTemplate="{DataTemplate locator:DistributorsLocatorPage}" />
        </Tab>
        <Tab Title="Scan&#10;QR Code" Icon="{StaticResource IconQrScanner}">
            <ShellContent ContentTemplate="{DataTemplate qrScanner:QrScannerPage}" />
        </Tab>        
    </TabBar>

When the title has two lines, the second line doesn't fit the size of the TabBar, and thus is hidden. Only a part of the first line can be seen. I wonder if font can be changed, or the tab bar height increased? I have tested only on an Android phone and on an emulator so far.

 


Dmitriy
Top achievements
Rank 1
 asked on 25 Aug 2022
2 answers
697 views

I'm just wondering if you folks have run into major UI differences when porting Xamarin code over...

Xamarin version:

Essentially identical code in Maui (only differences were required by Maui, such as SelectorSettings --> PopupSettings):

 

Code involved:

 


<?xml version="1.0" encoding="utf-8" ?>
<ContentView
    x:Class="iTrackBilliards.Views.RotationView"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:controls="clr-namespace:iTrackBilliards.Controls;assembly=iTrackBilliards"
    xmlns:helpers="clr-namespace:iTrackBilliards.Helpers;assembly=iTrackBilliards"
    xmlns:resx="clr-namespace:iTrackBilliards.Resources;assembly=iTrackBilliards"
    xmlns:telerik="http://schemas.telerik.com/2022/xaml/maui"
    xmlns:viewModels="clr-namespace:iTrackBilliards.ViewModels;assembly=iTrackBilliards">
    <ContentView.Resources>
        <helpers:RotationCellContentSelector x:Key="RotationCellContentSelector">
            <helpers:RotationCellContentSelector.CellTemplatePlayer1>
                <telerik:DataGridTextCellStyle FontSize="{OnPlatform Default=18, Android=11, iOS=10}" TextColor="{StaticResource Player1Color}" />
            </helpers:RotationCellContentSelector.CellTemplatePlayer1>
            <helpers:RotationCellContentSelector.CellTemplatePlayer2>
                <telerik:DataGridTextCellStyle FontSize="{OnPlatform Default=18, Android=11, iOS=10}" TextColor="{StaticResource Player2Color}" />
            </helpers:RotationCellContentSelector.CellTemplatePlayer2>
        </helpers:RotationCellContentSelector>
        <Style BasedOn="{StaticResource SmallLabelStyleCentered}" TargetType="Label" />
    </ContentView.Resources>
    <ContentView.Content>
        <FlexLayout
            Margin="{OnPlatform Default='10',
                                Android='3,10',
                                iOS='3,10'}"
            x:DataType="viewModels:RotationBaseViewModel"
            Direction="Column"
            HorizontalOptions="Center"
            WidthRequest="{OnPlatform Default=800,
                                      Android=350,
                                      iOS=350}">
            <!--#region Player, Game, Inning-->
            <Grid
                ColumnDefinitions="Auto,*,*,Auto, Auto"
                HorizontalOptions="StartAndExpand"
                RowDefinitions="Auto,Auto">
                <!--#region Player-->
                <controls:GetShowPlayerControl
                    Grid.Row="0"
                    Grid.Column="0"
                    Grid.ColumnSpan="5"
                    CurrentPlayer="{Binding CurrentPlayer, Mode=TwoWay}"
                    CurrentPlayerName="{Binding CurrentPlayerName, Mode=TwoWay}"
                    PlayerColor="{Binding PlayerColor, Mode=TwoWay}"
                    PlayerList="{Binding PlayerList}"
                    SelectPlayerIsEnabled="{Binding SelectPlayerIsEnabled}" />
                <!--#endregion-->
                <!--#region Game and Inning-->
                <Label
                    Grid.Row="1"
                    Grid.Column="0"
                    Margin="{OnPlatform Default='0,0,10,0',
                                        Android='0,0,2,0',
                                        iOS='0,0,3,0'}"
                    Style="{StaticResource SmallLabelStyleCentered}"
                    Text="{x:Static resx:AppResources.Game}"
                    VerticalOptions="Center" />
                <telerik:RadListPicker
                    Grid.Row="1"
                    Grid.Column="1"
                    IsVisible="{Binding SelectGameIsEnabled}"
                    ItemsSource="{Binding Games}"
                    SelectedItem="{Binding Game, Mode=TwoWay}">
                    <VisualElement.Behaviors>
                        <telerik:RadEventToCommandBehavior Command="{Binding GameSelectionChangedCommand}" EventName="SelectionChanged" />
                    </VisualElement.Behaviors>
                    <telerik:RadListPicker.PopupSettings>
                        <telerik:PickerPopupSettings FooterTemplate="{StaticResource FooterTemplate}" HeaderTemplate="{StaticResource GameHeaderTemplate}" />
                    </telerik:RadListPicker.PopupSettings>
                </telerik:RadListPicker>
                <Label
                    Grid.Row="1"
                    Grid.Column="1"
                    Margin="{OnPlatform Default='0,0,10,0',
                                        Android='0,0,2,0',
                                        iOS='0,0,2,0'}"
                    IsVisible="{Binding SelectGameIsEnabled, Converter={helpers:BooleanConverter}}"
                    Style="{StaticResource SelectedEntityLabelStyle}"
                    Text="{Binding Game}"
                    VerticalOptions="Center" />
                <Label
                    Grid.Row="1"
                    Grid.Column="3"
                    Style="{StaticResource SmallLabelStyleCentered}"
                    Text="{x:Static resx:AppResources.Inning}" />
                <Label
                    Grid.Row="1"
                    Grid.Column="4"
                    FontAttributes="Bold"
                    Style="{StaticResource SelectedEntityLabelStyle}"
                    Text="{Binding InningNumber}"
                    VerticalOptions="Center" />
                <!--#endregion-->
            </Grid>
            <!--#endregion-->
            <!--#region Balls Left and Save Inning Button-->
            <telerik:RadBorder BorderColor="{StaticResource NormalTextColor}" BorderThickness="0,1,0,0">
                <FlexLayout
                    Margin="{OnPlatform Default='0,35,0,0',
                                        Android='0,25,0,0',
                                        iOS='0,20,0,0'}"
                    Direction="Row"
                    HeightRequest="{OnPlatform Default=50,
                                               Android=30,
                                               iOS=40}"
                    JustifyContent="SpaceBetween">
                    <!--  Balls Left  -->
                    <StackLayout
                        HorizontalOptions="Start"
                        Orientation="Horizontal"
                        VerticalOptions="Center">
                        <Label Style="{StaticResource SmallLabelStyleCentered}" Text="{x:Static resx:AppResources.BallsLeft}" />
                        <telerik:RadNumericInput
                            ControlTemplate="{StaticResource CustomRadNumericInputControlTemplate}"
                            Maximum="{Binding MaxBallsLeft}"
                            Minimum="0"
                            WidthRequest="{OnPlatform Default=250,
                                                      Android=135,
                                                      iOS=135}"
                            Value="{Binding BallsLeft, Mode=TwoWay}" />
                    </StackLayout>
                    <!--  Save Inning Button  -->
                    <StackLayout
                        HorizontalOptions="End"
                        Orientation="Horizontal"
                        VerticalOptions="Center">
                        <telerik:RadButton
                            Command="{Binding SaveInningCommand}"
                            HorizontalOptions="Center"
                            IsEnabled="{Binding IsSaveEnabled}"
                            Text="{Binding SaveInningButtonText}"
                            VerticalOptions="Center"
                            WidthRequest="{OnPlatform Default=85,
                                                      Android=90,
                                                      iOS=70}" />
                    </StackLayout>
                </FlexLayout>
            </telerik:RadBorder>
            <!--#endregion-->
            <!--#region isBreak and Alternate Breaks-->
            <telerik:RadBorder>
                <FlexLayout
                    Margin="{OnIdiom '0,10',
                                     Phone='0,5'}"
                    Direction="Row"
                    HeightRequest="{OnIdiom 60,
                                            Phone=50}"
                    JustifyContent="SpaceBetween"
                    WidthRequest="{OnPlatform Default=800,
                                              Android=300,
                                              iOS=300}">
                    <StackLayout
                        HorizontalOptions="Start"
                        Orientation="Horizontal"
                        VerticalOptions="Center">
                        <Label Style="{StaticResource SmallLabelStyleCentered}" Text="{x:Static resx:AppResources.Break}" />
                        <telerik:RadCheckBox IsChecked="{Binding IsBreakShot}" VerticalOptions="Center" />
                    </StackLayout>
                    <StackLayout
                        HorizontalOptions="Start"
                        Orientation="Horizontal"
                        VerticalOptions="Center">
                        <Label
                            IsVisible="{Binding AlternateBreakShots}"
                            Style="{StaticResource SmallLabelStyleCentered}"
                            Text="Alternate Breaks" />
                    </StackLayout>
                </FlexLayout>
            </telerik:RadBorder>
            <!--#endregion-->
            <!--#region On Break-->
            <telerik:RadBorder>
                <FlexLayout
                    Direction="Row"
                    HeightRequest="{OnPlatform Default=50,
                                               Android=30,
                                               iOS=40}"
                    JustifyContent="SpaceBetween">
                    <StackLayout
                        HorizontalOptions="Start"
                        Orientation="Horizontal"
                        VerticalOptions="Center">
                        <Label Style="{StaticResource SmallLabelStyleCentered}" Text="{x:Static resx:AppResources.OnBreak}" />
                        <telerik:RadNumericInput
                            ControlTemplate="{StaticResource CustomRadNumericInputControlTemplate}"
                            IsEnabled="{Binding IsBreakShot}"
                            Maximum="{Binding MaxBallsOnBreak}"
                            Minimum="0"
                            WidthRequest="{OnPlatform Default=250,
                                                      Android=135,
                                                      iOS=135}"
                            Value="{Binding BallsOnBreak, Mode=TwoWay}" />
                    </StackLayout>
                </FlexLayout>
            </telerik:RadBorder>
            <!--#endregion-->
            <!--#region List Pickers-->
            <Grid
                Margin="{OnPlatform Default='0,20,0,0',
                                    Android='10,5,0,0',
                                    iOS='10,5,0,0'}"
                HorizontalOptions="Start"
                RowDefinitions="Auto,Auto"
                RowSpacing="{OnPlatform Default=30,
                                        Android=5,
                                        iOS=5}">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="{OnPlatform Default=50, Android=25, iOS=25}" />
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="Auto" />
                </Grid.ColumnDefinitions>
                <!--  Notation  -->
                <Label
                    Grid.Row="0"
                    Grid.Column="0"
                    HorizontalOptions="End"
                    Style="{StaticResource SmallLabelStyle}"
                    Text="{x:Static resx:AppResources.Notation}"
                    VerticalOptions="{OnPlatform Default=Center,
                                                 Android=End,
                                                 iOS=End}" />
                <telerik:RadListPicker
                    Grid.Row="0"
                    Grid.Column="1"
                    HorizontalOptions="Start"
                    ItemsSource="{Binding RequiredNotationList}"
                    SelectedItem="{Binding RequiredNotation, Mode=TwoWay}">
                    <telerik:RadListPicker.PopupSettings>
                        <telerik:PickerPopupSettings FooterTemplate="{StaticResource FooterTemplate}" HeaderTemplate="{StaticResource NotationHeaderTemplate}" />
                    </telerik:RadListPicker.PopupSettings>
                </telerik:RadListPicker>
                <!--  Modifier  -->
                <Label
                    Grid.Row="0"
                    Grid.Column="3"
                    HorizontalOptions="End"
                    Style="{StaticResource SmallLabelStyleCentered}"
                    Text="{x:Static resx:AppResources.Modifier}"
                    VerticalOptions="{OnPlatform Default=Center,
                                                 Android=End,
                                                 iOS=End}" />
                <telerik:RadListPicker
                    Grid.Row="0"
                    Grid.Column="4"
                    HorizontalOptions="Start"
                    ItemsSource="{Binding NotationModifierList}"
                    SelectedItem="{Binding NotationModifier, Mode=TwoWay}">
                    <telerik:RadListPicker.PopupSettings>
                        <telerik:PickerPopupSettings FooterTemplate="{StaticResource FooterTemplate}" HeaderTemplate="{StaticResource ModifierHeaderTemplate}" />
                    </telerik:RadListPicker.PopupSettings>
                </telerik:RadListPicker>
                <!--  Foul  -->
                <Label
                    Grid.Row="1"
                    Grid.Column="0"
                    HorizontalOptions="End"
                    Style="{StaticResource SmallLabelStyleCentered}"
                    Text="{x:Static resx:AppResources.Foul}"
                    VerticalOptions="{OnPlatform Default=Center,
                                                 Android=End,
                                                 iOS=End}" />
                <telerik:RadListPicker
                    Grid.Row="1"
                    Grid.Column="1"
                    HorizontalOptions="Start"
                    ItemsSource="{Binding FoulList}"
                    SelectedItem="{Binding Foul, Mode=TwoWay}">
                    <telerik:RadListPicker.PopupSettings>
                        <telerik:PickerPopupSettings FooterTemplate="{StaticResource FooterTemplate}" HeaderTemplate="{StaticResource FoulHeaderTemplate}" />
                    </telerik:RadListPicker.PopupSettings>
                </telerik:RadListPicker>
                <!--  Miss Reason  -->
                <Label
                    Grid.Row="1"
                    Grid.Column="3"
                    HorizontalOptions="End"
                    Style="{StaticResource SmallLabelStyleCentered}"
                    Text="{x:Static resx:AppResources.Optional}"
                    VerticalOptions="{OnPlatform Default=Center,
                                                 Android=End,
                                                 iOS=End}" />
                <telerik:RadListPicker
                    Grid.Row="1"
                    Grid.Column="4"
                    HorizontalOptions="Start"
                    ItemsSource="{Binding OptionalList}"
                    SelectedItem="{Binding Optional, Mode=TwoWay}">
                    <telerik:RadListPicker.PopupSettings>
                        <telerik:PickerPopupSettings FooterTemplate="{StaticResource FooterTemplate}" HeaderTemplate="{StaticResource OptionalHeaderTemplate}" />
                    </telerik:RadListPicker.PopupSettings>
                </telerik:RadListPicker>
            </Grid>
            <!--#endregion-->
            <!--#region Stats Grid-->
            <Grid
                Margin="{OnPlatform Default='20,15,0,0',
                                    Android='5,15,0,0',
                                    iOS='5,15,0,0'}"
                ColumnDefinitions="1.5*, *, 1.5*, *, 1.5*, *, 1.5*, *"
                HeightRequest="{OnPlatform Default=175,
                                           Android=115,
                                           iOS=100}"
                RowDefinitions="Auto,Auto,Auto,Auto,Auto"
                WidthRequest="{OnPlatform Default=650,
                                          Android=350,
                                          iOS=325}">
                <!--  Player 1  -->
                <Label
                    Grid.Row="0"
                    Grid.Column="0"
                    Grid.ColumnSpan="8"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{Binding Player1Truncated, Mode=TwoWay}"
                    TextColor="DeepPink" />
                <!--  Player 2  -->
                <Label
                    Grid.Row="0"
                    Grid.Column="4"
                    Grid.ColumnSpan="4"
                    IsVisible="{Binding Player2Enabled}"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{Binding Player2}"
                    TextColor="GreenYellow" />
                <!--  Player 1 TPA  -->
                <Label
                    Grid.Row="1"
                    Grid.Column="0"
                    HorizontalTextAlignment="Start"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{x:Static resx:AppResources.TPA}" />
                <Label
                    Grid.Row="1"
                    Grid.Column="1"
                    HorizontalTextAlignment="End"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{Binding DisplayPlayer1Tpa}" />
                <!--  Player 1 Games Won  -->
                <Label
                    Grid.Row="1"
                    Grid.Column="2"
                    HorizontalTextAlignment="Start"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{x:Static resx:AppResources.GamesWon}" />
                <Label
                    Grid.Row="1"
                    Grid.Column="3"
                    HorizontalTextAlignment="End"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{Binding Player1GamesWon}"
                    TextColor="DeepPink" />
                <!--  Player 2 TPA  -->
                <Label
                    Grid.Row="1"
                    Grid.Column="4"
                    HorizontalTextAlignment="Start"
                    IsVisible="{Binding Player2Enabled}"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{x:Static resx:AppResources.TPA}" />
                <Label
                    Grid.Row="1"
                    Grid.Column="5"
                    HorizontalTextAlignment="End"
                    IsVisible="{Binding Player2Enabled}"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{Binding DisplayPlayer2Tpa}" />
                <!--  Player 2 Games Won  -->
                <Label
                    Grid.Row="1"
                    Grid.Column="6"
                    HorizontalTextAlignment="Start"
                    IsVisible="{Binding Player2Enabled}"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{x:Static resx:AppResources.GamesWon}" />
                <Label
                    Grid.Row="1"
                    Grid.Column="7"
                    HorizontalTextAlignment="End"
                    IsVisible="{Binding Player2Enabled}"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{Binding Player2GamesWon}"
                    TextColor="GreenYellow" />
                <!--  Player 1 Balls Pocketed  -->
                <Label
                    Grid.Row="2"
                    Grid.Column="0"
                    HorizontalTextAlignment="Start"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{x:Static resx:AppResources.Pocketed}" />
                <Label
                    Grid.Row="2"
                    Grid.Column="1"
                    HorizontalTextAlignment="End"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{Binding Player1BallsPocketed}" />
                <!--  Player 1 Bad Position  -->
                <Label
                    Grid.Row="2"
                    Grid.Column="2"
                    HorizontalTextAlignment="Start"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{x:Static resx:AppResources.BadPosition}" />
                <Label
                    Grid.Row="2"
                    Grid.Column="3"
                    HorizontalTextAlignment="End"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{Binding Player1BadPosition}" />
                <!--  Player 2 Balls Pocketed  -->
                <Label
                    Grid.Row="2"
                    Grid.Column="4"
                    HorizontalTextAlignment="Start"
                    IsVisible="{Binding Player2Enabled}"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{x:Static resx:AppResources.Pocketed}" />
                <Label
                    Grid.Row="2"
                    Grid.Column="5"
                    HorizontalTextAlignment="End"
                    IsVisible="{Binding Player2Enabled}"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{Binding Player2BallsPocketed}" />
                <!--  Player 2 Bad Position  -->
                <Label
                    Grid.Row="2"
                    Grid.Column="6"
                    HorizontalTextAlignment="Start"
                    IsVisible="{Binding Player2Enabled}"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{x:Static resx:AppResources.BadPosition}" />
                <Label
                    Grid.Row="2"
                    Grid.Column="7"
                    HorizontalTextAlignment="End"
                    IsVisible="{Binding Player2Enabled}"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{Binding Player2BadPosition}" />
                <!--  Player 1 Bad Safety  -->
                <Label
                    Grid.Row="3"
                    Grid.Column="0"
                    HorizontalTextAlignment="Start"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{x:Static resx:AppResources.BadSafety}" />
                <Label
                    Grid.Row="3"
                    Grid.Column="1"
                    HorizontalTextAlignment="End"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{Binding Player1BadSafety}" />
                <!--  Player 1 Misses  -->
                <Label
                    Grid.Row="3"
                    Grid.Column="2"
                    HorizontalTextAlignment="Start"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{x:Static resx:AppResources.Misses}" />
                <Label
                    Grid.Row="3"
                    Grid.Column="3"
                    HorizontalTextAlignment="End"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{Binding Player1Misses}" />
                <!--  Player 2 Bad Safety  -->
                <Label
                    Grid.Row="3"
                    Grid.Column="4"
                    HorizontalTextAlignment="Start"
                    IsVisible="{Binding Player2Enabled}"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{x:Static resx:AppResources.BadSafety}" />
                <Label
                    Grid.Row="3"
                    Grid.Column="5"
                    HorizontalTextAlignment="End"
                    IsVisible="{Binding Player2Enabled}"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{Binding Player2BadSafety}" />
                <!--  Player 2 Misses  -->
                <Label
                    Grid.Row="3"
                    Grid.Column="6"
                    HorizontalTextAlignment="Start"
                    IsVisible="{Binding Player2Enabled}"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{x:Static resx:AppResources.Misses}" />
                <Label
                    Grid.Row="3"
                    Grid.Column="7"
                    HorizontalTextAlignment="End"
                    IsVisible="{Binding Player2Enabled}"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{Binding Player2Misses}" />
                <!--  Player 1 Bad Kicks  -->
                <Label
                    Grid.Row="4"
                    Grid.Column="0"
                    HorizontalTextAlignment="Start"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{x:Static resx:AppResources.BadKick}" />
                <Label
                    Grid.Row="4"
                    Grid.Column="1"
                    HorizontalTextAlignment="End"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{Binding Player1BadKicks}" />
                <!--  Player 1 Scratches On Break  -->
                <Label
                    Grid.Row="4"
                    Grid.Column="2"
                    HorizontalTextAlignment="Start"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{x:Static resx:AppResources.ScratchOnBreak}" />
                <Label
                    Grid.Row="4"
                    Grid.Column="3"
                    HorizontalTextAlignment="End"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{Binding Player1ScratchOnBreak}" />
                <!--  Player 2 Bad Kicks  -->
                <Label
                    Grid.Row="4"
                    Grid.Column="4"
                    HorizontalTextAlignment="Start"
                    IsVisible="{Binding Player2Enabled}"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{x:Static resx:AppResources.BadKick}" />
                <Label
                    Grid.Row="4"
                    Grid.Column="5"
                    HorizontalTextAlignment="End"
                    IsVisible="{Binding Player2Enabled}"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{Binding Player2BadKicks}" />
                <!--  Player 2 Scratches On Break  -->
                <Label
                    Grid.Row="4"
                    Grid.Column="6"
                    HorizontalTextAlignment="Start"
                    IsVisible="{Binding Player2Enabled}"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{x:Static resx:AppResources.ScratchOnBreak}" />
                <Label
                    Grid.Row="4"
                    Grid.Column="7"
                    HorizontalTextAlignment="End"
                    IsVisible="{Binding Player2Enabled}"
                    Style="{StaticResource StatLabelStyle}"
                    Text="{Binding Player2ScratchOnBreak}" />
            </Grid>
            <!--#endregion-->
            <!--#region Innings Grid-->
            <telerik:RadBorder
                BorderColor="{StaticResource NormalTextColor}"
                BorderThickness="1"
                HeightRequest="{OnPlatform Default=225,
                                           Android=225,
                                           iOS=225}"
                WidthRequest="{OnPlatform Default=800,
                                          Android=350,
                                          iOS=315}">
                <telerik:RadDataGrid
                    AutoGenerateColumns="False"
                    ItemsSource="{Binding Innings}"
                    SelectionStyle="{StaticResource CustomSelectionStyle}"
                    UserFilterMode="Disabled"
                    UserSortMode="None">
                    <telerik:RadDataGrid.SortDescriptors>
                        <telerik:PropertySortDescriptor PropertyName="Inning" SortOrder="Descending" />
                    </telerik:RadDataGrid.SortDescriptors>
                    <telerik:RadDataGrid.MouseHoverStyle>
                        <telerik:DataGridBorderStyle BackgroundColor="{StaticResource MouseHoverBackgroundColor}" />
                    </telerik:RadDataGrid.MouseHoverStyle>
                    <telerik:RadDataGrid.Columns>
                        <telerik:DataGridNumericalColumn
                            CanUserEdit="False"
                            CellContentStyle="{StaticResource CustomDataGridTextCellStyle}"
                            CellContentStyleSelector="{StaticResource RotationCellContentSelector}"
                            HeaderStyle="{StaticResource CustomDataGridColumnHeaderStyle}"
                            HeaderText="{x:Static resx:AppResources.Inning}"
                            PropertyName="Inning"
                            SizeMode="Stretch" />
                        <telerik:DataGridNumericalColumn
                            CanUserEdit="False"
                            CellContentStyle="{StaticResource CustomDataGridTextCellStyle}"
                            CellContentStyleSelector="{StaticResource RotationCellContentSelector}"
                            HeaderStyle="{StaticResource CustomDataGridColumnHeaderStyle}"
                            HeaderText="{x:Static resx:AppResources.Run}"
                            PropertyName="Run"
                            SizeMode="Stretch" />
                        <telerik:DataGridTextColumn
                            CanUserEdit="False"
                            CellContentStyle="{StaticResource CustomDataGridTextCellStyle}"
                            CellContentStyleSelector="{StaticResource RotationCellContentSelector}"
                            HeaderStyle="{StaticResource CustomDataGridColumnHeaderStyle}"
                            HeaderText="{x:Static resx:AppResources.Notation}"
                            PropertyName="Notation"
                            SizeMode="Stretch" />
                        <telerik:DataGridTextColumn
                            CanUserEdit="False"
                            CellContentStyle="{StaticResource CustomDataGridTextCellStyle}"
                            HeaderStyle="{StaticResource CustomDataGridColumnHeaderStyle}"
                            HeaderText="{x:Static resx:AppResources.Modifier}"
                            PropertyName="Modifier"
                            SizeMode="Stretch" />
                        <telerik:DataGridTextColumn
                            CanUserEdit="False"
                            CellContentStyle="{StaticResource CustomDataGridTextCellStyle}"
                            HeaderStyle="{StaticResource CustomDataGridColumnHeaderStyle}"
                            HeaderText="{x:Static resx:AppResources.Foul}"
                            PropertyName="Foul"
                            SizeMode="Stretch" />
                        <telerik:DataGridTextColumn
                            CanUserEdit="False"
                            CellContentStyle="{StaticResource CustomDataGridTextCellStyle}"
                            HeaderStyle="{StaticResource CustomDataGridColumnHeaderStyle}"
                            HeaderText="{x:Static resx:AppResources.Optional}"
                            PropertyName="Optional"
                            SizeMode="Stretch" />
                    </telerik:RadDataGrid.Columns>
                </telerik:RadDataGrid>
            </telerik:RadBorder>
            <!--#endregion-->
        </FlexLayout>
    </ContentView.Content>
</ContentView>
I was new to Xamarin Forms when I started this project. Have I written 'bad' XAML?
Didi
Telerik team
 answered on 25 Aug 2022
0 answers
187 views
Hi, I was wondering how to implement automation for the RadComboBox. We are using Appium for our automation testing and attaching an Automation ID to the RadComboBox does not allow us to interact with it at all

We are attaching our Automation ID like this

<telerik:RadComboBox AutomationId="RadComboBox_Test" />

Scott
Top achievements
Rank 1
 asked on 24 Aug 2022
1 answer
74 views

I know you can set the StrokeLineCap on the default MAUI canvas object but I can't find a similar option in the Telerik controls. 

I am trying to draw something like in the attached pic. This is easy enough with your RadArc but there doesn't seem to be an option for rounded ends. 

The example app has a straight line with rounded ends but this is achieved by putting arcs on either end manually. I will be animating this as well so manually animating custom rounded ends as the arc moves around could be tricky.

Any suggestions?

Thanks!

Didi
Telerik team
 answered on 24 Aug 2022
1 answer
218 views

Hi, I ran into an issue the other day with the RadComboBox.

I have a RadComboBox with an ItemTemplate and a FooterTemplate. The FooterTemplate has a button inside it and the Item Template has some Labels and Images data bound to the ViewModel. When I run my app and I tap on the drop down in the RadComboBox, the footer pushes the items up and also overlays some of the items. Below is an image of my issue. I'm currently running 1.0.1 and have updated to 2.30 and experienced the same issue.

Didi
Telerik team
 answered on 23 Aug 2022
0 answers
96 views

I'm trying to follow your example for the arc segment here: https://docs.telerik.com/devtools/maui/controls/path/geometry-structure

However, when I use your example code my app throws an out of memory exception trying to draw the image. 

The error message suggests that it's trying to draw an enormous image.

"[Bitmap] OOM allocating Bitmap with dimensions 1080 x 16777216"

Any suggestions? I have copy pasted the example code exactly as it is in the link provided (although I removed the style attribute as I don't have the static resource it's referencing)

 

Angus
Top achievements
Rank 1
Iron
Iron
 updated question on 23 Aug 2022
1 answer
411 views

I've struggled on and off getting the DataGrid to behave the way I expect. I've gone through this forum and made several changes based on related questions, but I still have some issues.

The biggest one I have now is the visibility of items when navigating around the App.

I whittled down the "HomePage" to just the DataGrid and some buttons. In the App I normally refresh this DataGrid when the page is navigated to. For simplicity's sake, I do it manually in this example. Because the HomePage is on the Navigation stack, I expect the Page and the ViewModel to remain valid and thus the items in the DataGrid to still be there, even if I don't refresh the data source. when I return to the page. See the images below and attached video example.

For additional context, I am using NavigationPages and Dependency Injection (for the Pages and ViewModels) to navigate (not AppShell).

    <Grid RowDefinitions="*,100">

        <telerik:RadDataGrid x:Name="grdRegisters"
                             RowHeight="50"
                             Style="{StaticResource ReadOnlyGridStyle}"
                             ItemsSource="{Binding Registers}"
                             SelectionStyle="{StaticResource SelectedRowBackgroundStyle}"
                             RowBackgroundStyle="{StaticResource RowBackgroundStyle}"
                             AlternateRowBackgroundStyle="{StaticResource AltRowBackgroundStyle}"
                             SelectedItem="{Binding SelectedRegister, Mode=TwoWay}">
            <telerik:RadDataGrid.Columns>
                <telerik:DataGridTemplateColumn HeaderText=""
                                                SizeMode="Fixed"
                                                Width="50">
                    <telerik:DataGridTemplateColumn.CellContentTemplate>
                        <DataTemplate x:DataType="RegisterModel">
                            <Label FontFamily="FASolid" 
                                   HorizontalOptions="Center"
                                   VerticalOptions="Center"
                                   Text="&#xf005;" 
                                   IsVisible="{Binding IsCurrentRegister, Mode=OneTime}"/>
                        </DataTemplate>
                    </telerik:DataGridTemplateColumn.CellContentTemplate>
                </telerik:DataGridTemplateColumn>

                <telerik:DataGridTemplateColumn HeaderText="Shift Date">
                    <telerik:DataGridTemplateColumn.CellContentTemplate>
                        <DataTemplate x:DataType="RegisterModel">
                            <Label Style="{StaticResource GridCellLabelStyle}" 
                                   Text="{Binding Date, Converter={StaticResource ToLocalTimeConverter}, StringFormat='{}{0:d}'}"/>
                        </DataTemplate>
                    </telerik:DataGridTemplateColumn.CellContentTemplate>
                </telerik:DataGridTemplateColumn>

                <telerik:DataGridTemplateColumn HeaderText="Shift Name">
                    <telerik:DataGridTemplateColumn.CellContentTemplate>
                        <DataTemplate x:DataType="RegisterModel">
                            <Label Style="{StaticResource GridCellLabelStyle}" 
                                   Text="{Binding Shift.Name}"/>
                        </DataTemplate>
                    </telerik:DataGridTemplateColumn.CellContentTemplate>
                </telerik:DataGridTemplateColumn>

                <telerik:DataGridTemplateColumn HeaderText="Start Time">
                    <telerik:DataGridTemplateColumn.CellContentTemplate>
                        <DataTemplate x:DataType="RegisterModel">
                            <Label Style="{StaticResource GridCellLabelStyle}" 
                                   Text="{Binding StartTime, Converter={StaticResource ToLocalTimeConverter}, StringFormat='{}{0:t}'}"/>
                        </DataTemplate>
                    </telerik:DataGridTemplateColumn.CellContentTemplate>
                </telerik:DataGridTemplateColumn>

                <telerik:DataGridTemplateColumn HeaderText="End Time">
                    <telerik:DataGridTemplateColumn.CellContentTemplate>
                        <DataTemplate x:DataType="RegisterModel">
                            <Label Style="{StaticResource GridCellLabelStyle}" 
                                   Text="{Binding EndTime, Converter={StaticResource ToLocalTimeConverter}, StringFormat='{}{0:t}'}"/>
                        </DataTemplate>
                    </telerik:DataGridTemplateColumn.CellContentTemplate>
                </telerik:DataGridTemplateColumn>


            </telerik:RadDataGrid.Columns>
        </telerik:RadDataGrid>

        <HorizontalStackLayout Grid.Row="1">
            <Button Text="Resume"
                    IsEnabled="{Binding SelectedRegister, Converter={StaticResource IsNotNullConverter}}"
                    Command="{Binding ResumeShiftCommand}"/>

            <Button Text="Refresh"
                    Command="{Binding RefreshCommand}"/>

        </HorizontalStackLayout>
        
    </Grid>


 

On initial Refresh, all items are visible in the DataGrid

I navigate forward and then back (PopToRoot), the DataGrid appears empty, although the vertical scroll appears like there are items.

If I tap Refresh, items become visible, but only above the first fold.

If i resize the window vertically, items will appear and disappear depending on the height of the window. (see attached video)

 

Antoan
Telerik team
 answered on 18 Aug 2022
Top users last month
Henri
Top achievements
Rank 2
Iron
Iron
Iron
SUNIL
Top achievements
Rank 2
Iron
Iron
Iron
David
Top achievements
Rank 1
Jackson
Top achievements
Rank 1
Iron
Iron
Tim
Top achievements
Rank 3
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?