Completed
Last Updated: 18 Feb 2022 11:24 by ADMIN
Release R1 2022 SP1

Hi,

unfortunately, I have yet another bug report regarding the RadAutoCompleteBox. This time, it looks like a regression introduced in one of the last two Releases of Ui for WPF as we recently upgraded from 2021.3.914.45 to 2022.1.117.45 and the crash only happens with the newer version.

In one of our applications we get an InvalidOperationException: "Cannot modify the logical children for this node at this time because a tree walk is in progress."  when setting RadPane.Hidden = true for a Pane that contains at least one RadAutoCompleteBox.

In the attached text file you can find the full stack trace. I noticed that RadPaneGroup inherits from RadTabControl so maybe the regression was caused by some of the changes in my other report regarding AutoCompleteBoxes in TabControls. The pattern seems to be the same at least: The crash only seems to occur if you type into the AutoCompleteBox and select an item from the DropDown.

Crash occurs if:

  • You type into the box, select an item from the Dropdown and then switch to another module (see attached gif).

Crash does not occur if:

  • The AutoCompleteBox is not touched at all
  • The bound properties are only changed by the ViewModel
  • You type into the box to trigger the Dropdown but do NOT select an item

 

As a side note:

While debugging the issue I noticed that RadNavigationView seems to have an exception handler somewhere that silently swallows this exception, causing really strange behavior in the RadDocking control. I also attached a gif for this behavior (-UI.gif).

 	Telerik.Windows.Controls.Navigation.dll!Telerik.Windows.Controls.RadNavigationView.OnSelectionChangerSelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e = {System.Windows.Controls.SelectionChangedEventArgs})	Unknown
 	Telerik.Windows.Controls.dll!Telerik.Windows.Controls.SelectionChanger<System.__Canon>.InvokeSelectionChangedEvent(System.Windows.Controls.SelectionChangedEventArgs e)	Unknown
 	Telerik.Windows.Controls.dll!Telerik.Windows.Controls.SelectionChanger<System.__Canon>.End()	Unknown
 	Telerik.Windows.Controls.dll!Telerik.Windows.Controls.SelectionChanger<object>.AddJustThis(object item)	Unknown
>	Telerik.Windows.Controls.Navigation.dll!Telerik.Windows.Controls.RadNavigationView.UpdateSelection(System.Windows.Controls.Primitives.Selector targetSelector, object item)	Unknown
 	Telerik.Windows.Controls.Navigation.dll!Telerik.Windows.Controls.RadNavigationView.NotifyNavigationViewItemClick(Telerik.Windows.Controls.RadNavigationViewItem container)	Unknown
 	Telerik.Windows.Controls.Navigation.dll!Telerik.Windows.Controls.RadNavigationViewItem.OnClickInternal()	Unknown
 	Telerik.Windows.Controls.Navigation.dll!Telerik.Windows.Controls.RadNavigationViewItem.OnClick()	Unknown
 	PresentationFramework.dll!System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(System.Windows.Input.MouseButtonEventArgs e)	Unknown

Regards
Simon Müller
Hofmann Fördertechnik GmbH

 

Completed
Last Updated: 01 Jul 2024 11:22 by ADMIN
Release 2024.2.701 (Preview)

By default the TextSearchPath of RadAutoCompleteBox is automatically assigned when the DisplayMemberPath is set, and if the TextSearchPath is not yet assigned. However, this happens only initially. Runtime changes of the DisplayMemberPath don't update the text search path.

To work this around, set the TextSearchPath manually when you change the DisplayMemberPath.

Completed
Last Updated: 07 Feb 2022 09:46 by ADMIN
Release LIB 2022.1.207 (7 Feb 2022)
Created by: Simon
Comments: 8
Category: AutoCompleteBox
Type: Bug Report
0

Hi,

while integrating a RadAutoCompleteBox into our application, I noticed a problem when binding to its SearchText and SelectedItem properties:

How we use the AutoCompleteBox:
We use the following XAML markup to create the AutoCompleteBox:

<telerik:RadAutoCompleteBox Grid.Column="0" x:Name="UnitSelectionAutoCompleteBox"
AutoCompleteMode="SuggestAppend"
DisplayMemberPath="UnitNumber"
IsEnabled="{Binding UnitNumberEnabled, Mode=OneWay}"
ItemsSource="{Binding UnitSelectionComponent.SearchResults, Mode=OneWay}"
SearchText="{Binding UnitSelectionComponent.UnitNumberSearchText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SelectedItem="{Binding UnitSelectionComponent.SelectedUnit, Mode=TwoWay}"
SelectionMode="Single"
TextSearchMode="Contains"
TextSearchPath="UnitNumber"
WatermarkContent="{StaticResource Loc.UnitNumber}">
</telerik:RadAutoCompleteBox>
All of the bound properties use the INotifyPropertyChanged interface to communicate changes to the ui - there is no code behind, behavior or anything else modifying the properties. We bind to the SearchText in order to dynamically load matching items into the available items list since we are searching through a database table with >100.000 entries.

The problem

Having bound both, the SelectedItem and the SearchText leads to the SearchText binding to break under some circumstances: If UnitSelectionComponent.SelectedUnit is not null when the UI is loaded initially, the SearchText property suddenly contains a hard-coded string instead of the binding we defined. However, there seems to be another required condition I don't know yet since I was not able to reproduce the problem in a simple demo project.

 

I attached three screenshots of our ui and Snoop:

- binding_working shows the control and its SearchText binding in the default state.

- binding_working2 shows the control and its SearchText binding after selecting an item by first typing into the AutoCompleteBox and then selecting an item from the dropdown.

- binding_broken shows the control and its SearchText binding in the broken state: Instead of the binding, SearchText now only contains a string.

 

What I found out so far:

- The issue occurs in two cases:

    1. If I open the module with a preselected item (e.g. by opening a saved document),

    2. If I use a separate selection module to select an item (the selection module is displayed by temprarily switching the DataContext to show the selection UI. When a new item is selected, we set the SelectedUnit and then the DataContext is switched back to show the module ui again, see RadAutoCompleteBox_LostBinding.gif)

- If the SelectedItem is not bound, the issue does not seem to occur.

- Forcing the ui to be reloaded (e.g. by switching to a different module and then back) makes the binding come back.

 

Regards
Simon Müller
Hofmann Fördertechnik GmbH

 

Completed
Last Updated: 31 May 2022 08:35 by ADMIN
Release LIB 2022.2.606 (06 June 2022)

I've encountered a tiny bug when it comes to styling AutoCompleteBox using StyleManager.
If I set the StyleManager.ApplicationTheme of my app, the styling is correct, see the reference gif:

But if I set the style of AutoCompleteBox during runtime with StyleManager.SetTheme, the styling is not quite right - the underlying RadWatermarkBox is using the basic style I believe, because the text doesn't change it opacity when I hover over it (in the case of watermark text) or when I defocus the element (in the case of real text).

The example I'm using is just an empty WPF project with MainWindow.xaml having one RadAutoCompleteBox inside it, and MainWindow.xaml.cs is pictured in the gifs.

 

Best Regards,
Mateusz

Completed
Last Updated: 06 Jun 2022 07:56 by ADMIN
Created by: Mateusz
Comments: 1
Category: AutoCompleteBox
Type: Bug Report
0

When using Windows 11 theme with 4.5 NoXaml binaries, AutoCompleteBox reports a XAML Binding Failure:

To reproduce, just run the following window (just an empty AutoCompleteBox) in a new WPF Framework project:


<Window x:Class="WpfApp20.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp20" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Window.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/Telerik.Windows.Themes.Windows11;component/Themes/System.Windows.xaml"/>
                <ResourceDictionary Source="/Telerik.Windows.Themes.Windows11;component/Themes/Telerik.Windows.Controls.xaml"/>
                <ResourceDictionary Source="/Telerik.Windows.Themes.Windows11;component/Themes/Telerik.Windows.Controls.Input.xaml"/>
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Window.Resources>
    <Grid>
        <telerik:RadAutoCompleteBox/>
    </Grid>
</Window>


Completed
Last Updated: 23 May 2023 11:28 by ADMIN
Release R2 2023
Created by: Martin Ivanov
Comments: 0
Category: AutoCompleteBox
Type: Bug Report
0
The performance during text search filtering was noticeably decreased in scenario with big amount of data (100k+ items). This is related to the TypeConverter support introduced in the filtering.
Completed
Last Updated: 23 Jun 2014 08:13 by ADMIN
ADMIN
Created by: Vladi
Comments: 0
Category: AutoCompleteBox
Type: Feature Request
0
Add a possibility to set minimum populate delay to the control. It would be useful if a property like MinimumPopulateDelay is available to be set which would cause the populating of items to be delayed. Such feature would be helpful for cases when making requests to web server etc.
Declined
Last Updated: 31 Jan 2014 08:36 by ADMIN
As a workaround the Foreground property of the AutoCompleteBox can be set to Black.
Completed
Last Updated: 30 Jun 2014 11:44 by ADMIN
The control is focused after the SelectionChanged event is triggered when selection is made with the mouse
Declined
Last Updated: 12 Nov 2018 07:37 by ADMIN
ADMIN
Created by: Stefan
Comments: 1
Category: AutoCompleteBox
Type: Feature Request
0

			
Completed
Last Updated: 07 Jul 2014 07:42 by Paul
Initially the events is triggered correctly and after switching between TabItems the event is not longer triggered. 

The issue also is reproducible inside RadDocking control.
Unplanned
Last Updated: 26 Mar 2020 13:24 by ADMIN
Currently the control does not select the item, if it is autocompleted and the focus is lost. We can add a property for this scenario similar to the CanAutocompleteSelectItems property of the RadComboBox.
Completed
Last Updated: 08 Feb 2016 15:49 by ADMIN
No items are returned by the AsyncFilteringBehavior if the ItemsSource contains objects of a nested class.
For example the ItemsSource is bound to a "List<Item>" collection and the "Item" class is declared inside a different class (nested classes).

Available in LIB version 2016.1.208, it will be also available in the 2016 Q1 SP1 Release.
Completed
Last Updated: 17 Nov 2014 07:32 by ADMIN
The filtering mechanism is not triggered if the drop down of the control is opened and its ItemsSource is changed 
Completed
Last Updated: 15 Feb 2017 08:42 by ADMIN
Available in LIB version 2017.1.213 , it will be also available in the R1 2017 SP1 Release.
Duplicated
Last Updated: 28 Aug 2023 15:24 by ADMIN
Created by: Stenly
Comments: 0
Category: AutoCompleteBox
Type: Feature Request
0
Currently, when a RadAutoCompleteBox is placed in a ScrollViewer, the inner ScrollViewer of RadAutoCompleteBox prevents the parent one from scrolling via the mouse wheel.
Completed
Last Updated: 16 Jun 2016 08:05 by ADMIN
Exposed the HandleKeyDown method of RadAutoCompleteBox. In order to navigate to the next control when Tab key is pressed, the method should be overridden as shown below:

public class CustomAutoCompleteBox : RadAutoCompleteBox
{
protected override bool HandleKeyDown(Key systemKey)
{
return base.HandleKeyDown(systemKey) && systemKey != Key.Tab;
}
} 
Available in LIB version 2016.2.525, it will be also available in the 2016 R2 SP1 release.
1 2 3 4