syncfusion-wpf-autocomplete — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited syncfusion-wpf-autocomplete (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A comprehensive guide for implementing the Syncfusion WPF Autocomplete control (SfTextBoxExt) that provides intelligent text suggestions, advanced filtering, multi-selection capabilities, and extensive customization options for enhanced user input experiences.
Use this skill when user need to:
This skill covers the complete SfTextBoxExt control with detailed implementation guides for all features including data binding, filtering strategies, selection handling, dropdown customization, and advanced capabilities.
SfTextBoxExt is an enhanced TextBox control that extends standard WPF TextBox functionality with autocomplete capabilities. It provides intelligent suggestions based on user input, supports multiple filtering modes, and enables both single and multi-selection scenarios.
Core Features:
Advanced Features:
UI Customization:
This skill uses a progressive disclosure pattern. Start with SKILL.md for overview and navigation, then read specific reference files based on your implementation needs.
📄 Read: references/getting-started.md
When to read: Setting up SfTextBoxExt for the first time, initial implementation
What's covered:
📄 Read: references/autocomplete-filtering.md
When to read: Implementing filtering logic, customizing suggestion behavior
What's covered:
📄 Read: references/selection.md
When to read: Implementing single or multi-selection, retrieving selected values
What's covered:
📄 Read: references/dropdown-customization.md
When to read: Customizing suggestion popup appearance and behavior
What's covered:
📄 Read: references/textbox-customization.md
When to read: Customizing TextBox appearance, adding watermark or buttons
What's covered:
📄 Read: references/advanced-features.md
When to read: Implementing diacritic search, text highlighting, custom filters
What's covered:
<Window xmlns:editors="http://schemas.syncfusion.com/wpf">
<Window.DataContext>
<local:EmployeeViewModel/>
</Window.DataContext>
<editors:SfTextBoxExt
Width="300"
Height="40"
Watermark="Search employees..."
SearchItemPath="Name"
AutoCompleteMode="Suggest"
SuggestionMode="Contains"
AutoCompleteSource="{Binding Employees}" />
</Window>// ViewModel
public class EmployeeViewModel
{
public List<Employee> Employees { get; set; }
public EmployeeViewModel()
{
Employees = new List<Employee>
{
new Employee { Name = "John Doe", Email = "[email protected]" },
new Employee { Name = "Jane Smith", Email = "[email protected]" },
new Employee { Name = "Mike Johnson", Email = "[email protected]" }
};
}
}
// Model
public class Employee
{
public string Name { get; set; }
public string Email { get; set; }
}<editors:SfTextBoxExt
Width="400"
Height="60"
Watermark="Select multiple items..."
SearchItemPath="Name"
AutoCompleteMode="Suggest"
MultiSelectMode="Token"
TokensWrapMode="Wrap"
EnableAutoSize="True"
AutoCompleteSource="{Binding Items}" />// Code-behind
var textBoxExt = new SfTextBoxExt
{
Width = 400,
Watermark = "Select multiple items...",
SearchItemPath = "Name",
AutoCompleteMode = AutoCompleteMode.Suggest,
MultiSelectMode = MultiSelectMode.Token,
TokensWrapMode = TokensWrapMode.Wrap,
EnableAutoSize = true,
AutoCompleteSource = viewModel.Items
};var autoComplete = new SfTextBoxExt
{
AutoCompleteMode = AutoCompleteMode.Suggest,
SuggestionMode = SuggestionMode.Contains,
IgnoreCase = true,
MinimumPrefixCharacters = 2,
AutoCompleteSource = GetDataSource()
};<editors:SfTextBoxExt
SearchItemPath="Name"
AutoCompleteMode="Suggest"
MultiSelectMode="Token"
SelectedItemChanged="OnSelectedItemChanged"
AutoCompleteSource="{Binding Items}" />private void OnSelectedItemChanged(object sender, SelectedItemChangedEventArgs e)
{
var selectedItems = (sender as SfTextBoxExt)?.SelectedItems;
// Handle selected items
foreach (var item in selectedItems)
{
Console.WriteLine(item.ToString());
}
}var autoComplete = new SfTextBoxExt
{
SuggestionMode = SuggestionMode.Custom,
AutoCompleteSource = employees
};
// Custom filter for multi-field search
autoComplete.Filter = (search, item) =>
{
if (item is Employee emp)
{
return emp.Name.Contains(search, StringComparison.OrdinalIgnoreCase) ||
emp.Email.Contains(search, StringComparison.OrdinalIgnoreCase) ||
emp.Department.Contains(search, StringComparison.OrdinalIgnoreCase);
}
return false;
};<editors:SfTextBoxExt
AutoCompleteMode="Suggest"
ShowSuggestionsOnFocus="True"
PopupDelay="00:00:00.3"
MaxDropDownHeight="200"
SuggestionBoxPlacement="Bottom"
AutoHighlightMatchedItem="True"
AutoCompleteSource="{Binding Data}" />| Property | Type | Description |
|---|---|---|
AutoCompleteSource | IEnumerable | Data source for suggestions |
SearchItemPath | string | Property path for filtering custom objects |
AutoCompleteMode | AutoCompleteMode | Suggestion display mode (Suggest, Append, SuggestAppend, None) |
SuggestionMode | SuggestionMode | Filter strategy (StartsWith, Contains, Equals, etc.) |
MultiSelectMode | MultiSelectMode | Selection mode (None, Token, Delimiter) |
SelectedItem | object | Currently selected item (single selection) |
SelectedItems | ObservableCollection<object> | Selected items (multi-selection) |
SelectedValue | object | Value of selected item |
| Property | Type | Default | Description |
|---|---|---|---|
MinimumPrefixCharacters | int | 1 | Minimum characters before filtering |
IgnoreCase | bool | false | Case-insensitive filtering |
MaximumSuggestionsCount | int | 0 (unlimited) | Maximum suggestions displayed |
ShowSuggestionsOnFocus | bool | false | Show all suggestions on focus |
PopupDelay | TimeSpan | 00:00:00 | Delay before popup opens |
MaxDropDownHeight | double | Auto | Maximum popup height |
| Property | Type | Description |
|---|---|---|
Watermark | string | Placeholder text |
WatermarkTemplate | DataTemplate | Custom placeholder template |
AutoCompleteItemTemplate | DataTemplate | Custom suggestion item template |
NoResultsFoundTemplate | DataTemplate | Template when no matches found |
ShowDropDownButton | bool | Display dropdown button |
ShowClearButton | bool | Display clear button |
| Event | Description |
|---|---|
SelectedItemChanged | Raised when selected item changes |
SuggestionsChanged | Raised when filtered suggestions update |
SuggestionPopupOpened | Raised when popup opens |
SuggestionPopupClosed | Raised when popup closes |
Implement autocomplete for searching employees by name, email, or department with multi-field filtering.
Enable multi-selection with token mode for selecting tags, categories, or labels with visual token representation.
Create searchable product dropdown with images, custom templates, and rich item display.
Build email recipient selection with token mode, delimiter support, and contact suggestions.
Implement location autocomplete with address suggestions, diacritic-insensitive search for international addresses.
Create code suggestion dropdown with syntax highlighting, custom filtering, and keyboard navigation.
Add intelligent form input suggestions based on historical data or predefined options.
Implement search with diacritic sensitivity for international content with accent-insensitive matching.
SfTextBoxExt is part of Syncfusion Essential Studio for WPF, a commercial product requiring a valid license. Visit https://www.syncfusion.com/sales/products for licensing information.
Next Steps: Navigate to the specific reference file based on your implementation needs. Start with getting-started.md for initial setup, or jump directly to feature-specific guides for advanced scenarios.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.