Class SfSmartTextEditor
Represents a text editor that provides inline or popup auto-suggestions while typing.
Suggestions can be sourced from predefined user phrases or from an AI inference service,
and can be accepted by pressing Tab or Right arrow.
Behavior summary
<sync:SfSmartTextEditor x:Name="smartTextArea"
Placeholder="Please enter"
SuggestionDisplayMode="Inline"
UserRole="Support engineer responding to customer tickets"
UserPhrases="{Binding SuggestionPhrases}"
TextChangedCommand="{Binding OnEditorTextChanged}"/>public class MainViewModel
{
// Predefined phrases used for offline suggestions
public List<string> SuggestionPhrases { get; } = new List<string>
{
"Hello! How can I help you?",
"Thanks for reaching out.",
"Could you share more details?",
"We’re checking this for you.",
"Please try restarting the app."
};
// Invoked on every text change
public ICommand OnEditorTextChanged { get; }
public MainViewModel()
{
OnEditorTextChanged = new RelayCommand(() =>
{
// Handle text change, analytics, logging, etc.
});
}
}// Configure an AI chat client at the application level to enable AI suggestions.
// If not configured, the control falls back to the UserPhrases list for offline suggestions.
string azureApiKey = "<MENTION-YOUR-KEY>";
Uri azureEndPoint = new Uri("<MENTION-YOUR-URL>");
string deploymentName = "gpt-4o";
// Create Azure OpenAI chat client (example)
AzureOpenAIClient azureClient = new AzureOpenAIClient(azureEndPoint, new ApiKeyCredential(azureApiKey));
IChatClient azureChatClient = azureClient.GetChatClient(deploymentName).AsIChatClient();
// Register the client with Syncfusion AI services used by the editor
SyncfusionAIExtension.Services.AddSingleton<IChatClient>(azureChatClient);
SyncfusionAIExtension.ConfigureSyncfusionAIServices();
Inheritance
Implements
Namespace: Syncfusion.UI.Xaml.SmartComponents
Assembly: Syncfusion.SfSmartComponents.Wpf.dll
Syntax
public class SfSmartTextEditor : TextBox, IDisposable
Constructors
SfSmartTextEditor()
Initializes a new instance of the SfSmartTextEditor class.
Declaration
public SfSmartTextEditor()
Fields
PlaceholderProperty
Identifies the Placeholder dependency property.
Declaration
public static readonly DependencyProperty PlaceholderProperty
Field Value
| Type |
|---|
| System.Windows.DependencyProperty |
PlaceholderStyleProperty
Identifies the PlaceholderStyle dependency property.
Declaration
public static readonly DependencyProperty PlaceholderStyleProperty
Field Value
| Type |
|---|
| System.Windows.DependencyProperty |
SuggestionDisplayModeProperty
Identifies the SuggestionDisplayMode dependency property.
Declaration
public static readonly DependencyProperty SuggestionDisplayModeProperty
Field Value
| Type |
|---|
| System.Windows.DependencyProperty |
SuggestionInlineStyleProperty
Identifies the SuggestionInlineStyle dependency property.
Declaration
public static readonly DependencyProperty SuggestionInlineStyleProperty
Field Value
| Type |
|---|
| System.Windows.DependencyProperty |
SuggestionPopupStyleProperty
Identifies the SuggestionPopupStyle dependency property.
Declaration
public static readonly DependencyProperty SuggestionPopupStyleProperty
Field Value
| Type |
|---|
| System.Windows.DependencyProperty |
SuggestionTextProperty
Identifies the SuggestionText dependency property.
Declaration
public static readonly DependencyProperty SuggestionTextProperty
Field Value
| Type |
|---|
| System.Windows.DependencyProperty |
TextChangedCommandProperty
Identifies the TextChangedCommand dependency property.
Declaration
public static readonly DependencyProperty TextChangedCommandProperty
Field Value
| Type |
|---|
| System.Windows.DependencyProperty |
UserPhrasesProperty
Identifies the UserPhrases dependency property.
Declaration
public static readonly DependencyProperty UserPhrasesProperty
Field Value
| Type |
|---|
| System.Windows.DependencyProperty |
UserRoleProperty
Identifies the UserRole dependency property.
Declaration
public static readonly DependencyProperty UserRoleProperty
Field Value
| Type |
|---|
| System.Windows.DependencyProperty |
Properties
Placeholder
Gets or sets the placeholder text displayed when the editor is empty and not focused.
Declaration
public string Placeholder { get; set; }
Property Value
| Type |
|---|
| System.String |
PlaceholderStyle
Gets or sets a System.Windows.Style applied to the placeholder element in the control template.
Declaration
public Style PlaceholderStyle { get; set; }
Property Value
| Type |
|---|
| System.Windows.Style |
SuggestionDisplayMode
Gets or sets the display mode for suggestions (inline or popup).
Declaration
public SuggestionDisplayMode SuggestionDisplayMode { get; set; }
Property Value
| Type |
|---|
| SuggestionDisplayMode |
SuggestionInlineStyle
Gets or sets the style applied to the inline suggestion text displayed inside the SfSmartTextEditor control.
Declaration
public Style SuggestionInlineStyle { get; set; }
Property Value
| Type |
|---|
| System.Windows.Style |
SuggestionPopupStyle
Gets or sets a System.Windows.Style applied to the suggestion popup in the control template.
Declaration
public Style SuggestionPopupStyle { get; set; }
Property Value
| Type |
|---|
| System.Windows.Style |
SuggestionText
Gets the current suggestion text provided by the AI service. This may be shown inline or in a popup depending on SuggestionDisplayMode.
Declaration
public string SuggestionText { get; }
Property Value
| Type |
|---|
| System.String |
TextChangedCommand
Gets or sets the command that is executed whenever the editor's text changes.
Declaration
public ICommand TextChangedCommand { get; set; }
Property Value
| Type |
|---|
| System.Windows.Input.ICommand |
UserPhrases
Gets or sets a list of user-specific phrases to guide suggestion generation.
Declaration
public List<string> UserPhrases { get; set; }
Property Value
| Type |
|---|
| System.Collections.Generic.List<System.String> |
UserRole
Gets or sets the role of the user interacting with the control. This value is sent to the AI service to contextualize suggestions.
Declaration
public string UserRole { get; set; }
Property Value
| Type |
|---|
| System.String |
Methods
Dispose()
Releases all resources used by the control.
Declaration
public void Dispose()
Dispose(Boolean)
Releases unmanaged resources and optionally managed resources.
Declaration
protected virtual void Dispose(bool isDisposing)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | isDisposing | True to release both managed and unmanaged resources; otherwise false. |
OnApplyTemplate()
Applies the control template and wires up template parts and event handlers.
Declaration
public override void OnApplyTemplate()
ShowSuggestionLoadingIndicator()
Updates the visibility of inline and popup suggestion loading indicators while an AI suggestion is being fetched.
Declaration
public void ShowSuggestionLoadingIndicator()