New to Telerik UI for .NET MAUI? Start a free 30-day trial

.NET MAUI TemplatedPicker DropDown Styling

By using the DropDownSettings property (of type Telerik.Maui.Controls.PickerDropDownSettings) of the TemplatedPicker, you can modify the appearance of the dropdown. The PickerDropDownSettings class exposes the following Style properties:

  • DropDownViewStyle(of type Style with target type telerikInput:PickerDropDownContentView)—Defines the dropdown view style.
  • FooterStyle(of type Style with target type telerikInput:PickerPopupFooterView)—Defines the dropdown footer style.
  • AcceptButtonStyle(of type Style with target type Button)—Defines the Accept button style.
  • CancelButtonStyle(of type Style with target type Button)—Defines the Cancel button style.

The DropDownSettings also provides the following properties for dropdown customization:

  • Placement(of type PlacementMode)—Specifies the position of the dropdown, can be set to Bottom, Right, Left, Top, Center or Relative.
  • HorizontalOffset \ VerticalOffset—Specifies the horizontal\vertical distance between the dropdown and the TemplatedPicker.
  • IsFooterVisible(bool)—Specifies whether the DropDown footer is currently visible. By default, the value is True.
  • AcceptButtonText(string)—Defines the text visualized for the Accept button. By default, the text is OK.
  • CancelButtonText(string)—Defines the text visualized for the Cancel button. By default, the text is Cancel.

Example

The following example shows how the styling properties are applied.

Define the RadTemplatedPicker

<telerik:RadTemplatedPicker x:Name="picker" 
                            BorderColor="#8660C5"
                            Placeholder="Pick a destination!" 
                            DisplayStringFormat="Destination: {0}"                                 
                            DisplayLabelStyle="{StaticResource displayLabelStyle}"
                            PlaceholderLabelStyle="{StaticResource defaultPlaceholderLabelStyle}"                                  
                            ClearButtonStyle="{StaticResource clearButtonStyle}"
                            ToggleButtonStyle="{StaticResource toggleButtonStyle}"
                            IsClearButtonVisible="True"
                            IsToggleButtonVisible="True"
                            SelectedValue="{Binding FromCity, Mode=TwoWay}"
                            DisplayMemberPath="Name"
                            AutomationId="templatedPicker">
    <telerik:RadTemplatedPicker.SelectorTemplate>
        <ControlTemplate>
            <Grid ColumnDefinitions="*,*" HeightRequest="250">
                <Grid.Style>
                    <OnPlatform x:TypeArguments="Style">
                        <On Platform="WinUI">
                            <Style TargetType="Grid">
                                <Setter Property="WidthRequest" Value="{Binding Width, Source={x:Reference picker}}" />
                            </Style>
                        </On>
                    </OnPlatform>
                </Grid.Style> 
                <telerik:RadBorder Grid.ColumnSpan="2"
                                   Style="{StaticResource defaultRadBorderStyle}" />
                <telerik:RadSpinner x:Name="countriesSpinner"
                                    Grid.Column="0"
                                    ItemsSource="{Binding Countries}"
                                    ItemStyle="{StaticResource itemStyle}"
                                    SelectedItemStyle="{StaticResource selectedItemStyle}"
                                    DisplayMemberPath="Name" />
                <telerik:RadSpinner x:Name="citiesSpinner"
                                    Grid.Column="1"
                                    ItemsSource="{Binding SelectedItem.Cities, Source={x:Reference countriesSpinner}}"
                                    SelectedItem="{TemplateBinding SelectedValue}"
                                    ItemStyle="{StaticResource itemStyle}"
                                    SelectedItemStyle="{StaticResource selectedItemStyle}"
                                    DisplayMemberPath="Name" />
            </Grid>
        </ControlTemplate>
    </telerik:RadTemplatedPicker.SelectorTemplate>
</telerik:RadTemplatedPicker>

Define the DropDownViewStyle

Define the FooterStyle

<Style TargetType="telerik:PickerDropDownFooterView" x:Key="footerStyle">
    <Setter Property="BackgroundColor" Value="Transparent"/>
</Style>

Define the AcceptButtonStyle

<Style TargetType="Button" x:Key="acceptButtonStyle">
    <Setter Property="BackgroundColor" Value="Transparent"/>
    <Setter Property="TextColor" Value="#00B5DC"/>
</Style>

Define the CancelButtonStyle

<Style TargetType="Button" x:Key="cancelButtonStyle">
    <Setter Property="BackgroundColor" Value="Transparent"/>
    <Setter Property="TextColor" Value="#00B5DC"/>
</Style>

Namespaces

In addition, add the following namespace:

xmlns:telerik="http://schemas.telerik.com/2022/xaml/maui"

The following image shows how the TemplatedPicker control looks when the styles described above are applied.

TemplatedPicker DropDown Styling

See Also

In this article