At the moment, the SelectedItem is not displayed (as readonly text in the entry text) if it is not present in the ItemSource.I suspect this is by design (but maybe a bug?) Background: In my list there are elements that are readonly, i.e. can correspond to the current selection, but cannot be selected by the user if a change is made.At the moment, the ItemSource has to be cleaned of the readonly elements before it is assigned to the ComboBox.A suggested solution would therefore be: Add a FilterDescriptors property, as in the RadCollectionView. This is taken into account in the selection list, but not for the display of the SelectedItem
Dirty workarround vor the moment:
private void cb_Loaded(object sender, EventArgs e)
{
if (sender is RadComboBox radComboBox)
{
IReadOnlyList<IVisualTreeElement> children = radComboBox.GetVisualTreeDescendants();
RadEntry entry = children.OfType<RadEntry>().FirstOrDefault();
//entry.Text = DataContextViewModel.SelectedFieldOptionText;
entry?.Bind(RadEntry.TextProperty, static (IComboBoxViewModel x) => x.SelectedOptionText, source: DataContextViewModel);
}
}
RadComboBox for .NET MAUI has search feature, however it does not filters the items matching the text, instead it only scrolls to the matching item. We can manually filter the items in the item source but it would be nice to have such filtering built in.
Also we need to highlight the first item that matches the search string. Currently it doesn't seem to be possible. One way could be to select the first item manually which may change the background of the item and give a feel of highlight but that causes problem with selected item because we also need to subscribe to selected item change and do some other processing based on that. If we select item as filter happens then it would trigger selection change multiple times needlessly.
Also it seems that currently RadComboBox dropdown does not have support for keyboard navigation. We need to be able to navigate between items with keyboard up/down arrows so that user can navigate to different items and then press enter to select the highlighted item. This feature might not make sense on mobile but it is needed for desktop platforms.
Let me know if there is already a way to achieve the above behavior.
I tested Android and iOS only. Other platforms i cannot test at the moment.
Given the following implementation of the Combobox i observ different behaviour if the bound item is a enum or a class.
<telerik:RadComboBox x:Name="a"
ItemsSource="{Binding CloudProviders}"
SelectedItem="{Binding SelectedCloudProvider}"
IsClearButtonVisible="False">
<telerik:RadComboBox.ItemTemplate>
<DataTemplate>
<Grid HeightRequest="40"
Padding="10">
<Label Text="{Binding Title}"
TextColor="{DynamicResource DisabledTextColor}"
FontSize="14" />
</Grid>
</DataTemplate>
</telerik:RadComboBox.ItemTemplate>
<telerik:RadComboBox.SelectedItemTemplate>
<DataTemplate>
<Grid HeightRequest="40"
Padding="10">
<Label Text="{Binding Title}"
TextColor="{DynamicResource DisabledTextColor}"
FontSize="14" />
</Grid>
</DataTemplate>
</telerik:RadComboBox.SelectedItemTemplate>
</telerik:RadComboBox>
If the Itemssource is a Array of a enum type it works as intended.
If the Itemssource is a Array of classes the initial selected display member is not visible. The moment i tap into the closed combobox, the selected member is visible.
The attached screenshots show the page after loading and after touching into the white area(combobox) once.
For Localization and more details, we want to use classes. Is this a bug or do we have a issue in our code here?
Provide an option to hide the tokens and display only the count of the selected items instead of showing all selected items in the input area.
When setting the ComboBox ItemsSource to be Dictionary, the values are not displayed in the drop down.
Workaround:
The dictionary should be converted to List:
public Dictionary<string, string> Status { get; set; } = new() { { "1", "Test" }, { "2", "hello" } };
public IList<string> Data { get => this.Status.Values.ToList(); }
I would like to see a new feature in the RadComboBox for "Select All" functionality.
Here is the general functional paradigm I'm hoping to see.
1. All Selection
2. Partial Deselection
When you add Telerik .NET MAUI controls that use icons, such as ComboBox, AutoComplete, etc, there are font-related exceptions in the output.
Although the exceptions do not affect the behavior and appearance of the controls, they make the output hard to read.
If a "long" placeholder value is set when the user selects a few of the items from the multi-select combobox and taps off of the combobox, the combobox is left displaying extra whitespace below.
It would be nice to have the ability to select different item in the dropdown by keyboard up/down arrows.
This feature probably does not make sense on mobile platforms, but it would be great on desktop platforms.