or
<telerik:RadAutoCompleteBox x:Name="PrincipalAutoCompleteBox" WatermarkContent="Select a principal" TextSearchMode="Contains" AutoCompleteMode="SuggestAppend" SelectionMode="Single" TextSearchPath="Name" DropDownItemTemplate="{StaticResource ResourceKey=DSPrincipalAutoComplete}" DropDownWidth="Auto" FilteringBehavior="{StaticResource ResourceKey=CustomFilteringBehaviour}" GotFocus="PrincipalAutoCompleteBox_GotFocus" KeyDown="PrincipalAutoCompleteBox_KeyDown" Populated="PrincipalAutoCompleteBox_Populated"/>Private Sub PrincipalAutoCompleteBox_GotFocus(sender As System.Object, e As System.Windows.RoutedEventArgs) Dim autoComplete As RadAutoCompleteBox = DirectCast(sender, RadAutoCompleteBox) Dim searchString As String = autoComplete.SearchText If autoComplete.SelectedItem IsNot Nothing Then searchString = BindingExpressionHelper.GetValue(autoComplete.SelectedItem, autoComplete.DisplayMemberPath).ToString() End If autoComplete.IsDropDownOpen = False autoComplete.Populate(searchString) End Sub Private lastFilteredItems As IEnumerable(Of Object) Private Sub PrincipalAutoCompleteBox_KeyDown(sender As System.Object, e As System.Windows.Input.KeyEventArgs) Dim autoCompleteBox As RadAutoCompleteBox = DirectCast(sender, RadAutoCompleteBox) If e.Key = Key.Tab AndAlso e.Handled = False AndAlso autoCompleteBox.SelectedItem Is Nothing Then If lastFilteredItems.Count = 1 Then autoCompleteBox.SelectedItem = lastFilteredItems.OfType(Of Object).FirstOrDefault Else autoCompleteBox.SearchText = Nothing End If End IfEnd Sub Private Sub PrincipalAutoCompleteBox_Populated(sender As System.Object, e As System.EventArgs) Me.lastFilteredItems = DirectCast(sender, RadAutoCompleteBox).FilteredItems End SubPublic Class CustomFilteringBehaviour Inherits Telerik.Windows.Controls.FilteringBehavior Public Overrides Function FindMatchingItems(searchText As String, items As System.Collections.IList, escapedItems As System.Collections.Generic.IEnumerable(Of Object), textSearchPath As String, textSearchMode As Telerik.Windows.Controls.TextSearchMode) As System.Collections.Generic.IEnumerable(Of Object) If String.IsNullOrEmpty(searchText) Then Return items.OfType(Of Object).Where(Function(x) Not escapedItems.Contains(x)) Else Return MyBase.FindMatchingItems(searchText, items, escapedItems, textSearchPath, textSearchMode) End If End FunctionEnd Class'^-- principalList As ObservableCollection(Of DSPrincipal) and then populated from AD PrincipalAutoCompleteBox.ItemsSource = principalList For Each principal As DSPrincipal In principalList If principal.Sid = DirectCast(Me.DataContext, MyObject).Principal.SID Then 'v-- What I tried to do but it threw an error 'PrincipalAutoCompleteBox.SelectedItem = principal 'v-- What I ended up doing PrincipalAutoCompleteBox.SearchText = _principal.Name Exit For End IfNext<telerik:GridViewDataColumn DataMemberBinding="{Binding}" HeaderCellStyle="{StaticResource GridViewHeaderCellBasic}"> <telerik:GridViewDataColumn.Header> <TextBlock Text="{lex:Loc LINETOTAL}" TextWrapping="Wrap" /> </telerik:GridViewDataColumn.Header></telerik:GridViewDataColumn>