[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Collapse]WPF Controls
  Prerequisites
 [Expand]What's Installed
 [Expand].NET Core 3 Support
 [Expand]Common Concepts
 [Expand]MVVM Framework
 [Expand]Controls and Libraries
 [Expand]Scaffolding Wizard
 [Expand]Localization
  Redistribution and Deployment
  Get More Help
 [Collapse]API Reference
  [Expand]DevExpress.Charts.Designer
  [Expand]DevExpress.Data
  [Expand]DevExpress.Mvvm.UI
  [Expand]DevExpress.Mvvm.UI.Interactivity
  [Expand]DevExpress.Mvvm.UI.ModuleInjection
  [Expand]DevExpress.Xpf.Accordion
  [Expand]DevExpress.Xpf.Bars
  [Expand]DevExpress.Xpf.Carousel
  [Expand]DevExpress.Xpf.Charts
  [Expand]DevExpress.Xpf.Charts.Localization
  [Expand]DevExpress.Xpf.Charts.RangeControlClient
  [Expand]DevExpress.Xpf.ChunkList
  [Expand]DevExpress.Xpf.Controls
  [Expand]DevExpress.Xpf.Core
  [Expand]DevExpress.Xpf.Core.ConditionalFormatting
  [Expand]DevExpress.Xpf.Core.DataSources
  [Expand]DevExpress.Xpf.Core.FilteringUI
  [Expand]DevExpress.Xpf.Core.Native
  [Expand]DevExpress.Xpf.Core.ServerMode
  [Expand]DevExpress.Xpf.Data
  [Expand]DevExpress.Xpf.DataAccess
  [Expand]DevExpress.Xpf.DataAccess.DataSourceWizard
  [Expand]DevExpress.Xpf.Diagram
  [Expand]DevExpress.Xpf.Dialogs
  [Expand]DevExpress.Xpf.Docking
  [Expand]DevExpress.Xpf.Docking.Base
  [Expand]DevExpress.Xpf.DocumentViewer
  [Expand]DevExpress.Xpf.DXBinding
  [Collapse]DevExpress.Xpf.Editors
    ActivationAction Enumeration
   [Expand]AreaSparklineStyleSettings Class
    AutoCompleteType Enumeration
   [Expand]AutoSuggestEdit Class
    AutoSuggestEditChangeTextReason Enumeration
   [Expand]AutoSuggestEditCustomPopupHighlightedTextEventArgs Class
   [Expand]AutoSuggestEditQuerySubmittedEventArgs Class
   [Expand]AutoSuggestEditSuggestionChoosingEventArgs Class
   [Expand]AutoSuggestEditSuggestionChosenEventArgs Class
   [Expand]AutoSuggestEditTextChangedEventArgs Class
   [Expand]BarCodeEdit Class
   [Expand]BarCodePropertyProvider Class
   [Expand]BarSparklineStyleSettings Class
   [Expand]BaseComboBoxStyleSettings Class
   [Expand]BaseEdit Class
   [Expand]BaseEditStyleSettings Class
   [Expand]BaseProgressBarStyleSettings Class
   [Collapse]ButtonEdit Class
     ButtonEdit Members
     ButtonEdit Constructor
    [Expand]ButtonEdit Properties
    [Expand]ButtonEdit Events
   [Expand]ButtonInfo Class
   [Expand]ButtonInfoBase Class
   [Expand]ButtonInfoCollection Class
    ButtonKind Enumeration
   [Expand]Calculator Class
   [Expand]CalculatorCustomErrorTextEventArgs Class
    CalculatorCustomErrorTextEventHandler Delegate
   [Expand]CameraControl Class
   [Expand]CameraDevice Class
   [Expand]CheckedComboBoxStyleSettings Class
   [Expand]CheckEdit Class
   [Expand]CheckEditBox Class
    CheckEditDisplayMode Enumeration
   [Expand]CheckedListBoxEditStyleSettings Class
   [Expand]CheckedTokenComboBoxStyleSettings Class
    ChipSize Enumeration
   [Expand]ClosePopupEventArgs Class
    ClosePopupEventHandler Delegate
    ColorDisplayFormat Enumeration
   [Expand]ColorEdit Class
   [Expand]ColorPalette Class
   [Expand]ComboBoxEdit Class
   [Expand]ComboBoxEditItem Class
   [Expand]ComboBoxStyleSettings Class
    ContentDisplayMode Enumeration
   [Expand]ConvertEditValueEventArgs Class
   [Expand]CustomDisplayTextEventArgs Class
    CustomDisplayTextEventHandler Delegate
   [Expand]CustomPalette Class
   [Expand]DateEdit Class
   [Expand]DateEditCalendarStyleSettings Class
   [Expand]DateEditNavigatorStyleSettings Class
   [Expand]DateEditNavigatorWithTimePickerStyleSettings Class
   [Expand]DateEditPickerStyleSettings Class
    DateEditPopupContentType Enumeration
   [Expand]DateEditTimePickerStyleSettings Class
   [Expand]DeleteButtonInfo Class
   [Expand]EditableDataObject Class
    EditMode Enumeration
   [Expand]EditorLocalizer Class
    EditorPlacement Enumeration
    EditorStringId Enumeration
   [Expand]EditValueChangedEventArgs Class
    EditValueChangedEventHandler Delegate
   [Expand]EditValueChangingEventArgs Class
    EditValueChangingEventHandler Delegate
   [Expand]ErrorControl Class
    FindMode Enumeration
   [Expand]FontEdit Class
    GlyphKind Enumeration
    HighlightedTextCriteria Enumeration
   [Expand]HyperlinkEdit Class
   [Expand]HyperlinkEditRequestNavigationEventArgs Class
   [Expand]ImageCheckEditStyleSettings Class
   [Expand]ImageEdit Class
   [Expand]LineSparklineStyleSettings Class
   [Expand]ListBoxEdit Class
   [Expand]ListBoxEditItem Class
   [Expand]ListBoxEditStyleSettings Class
   [Expand]LoadingIndicatorButtonInfo Class
   [Expand]LookUpEditBase Class
    MaskType Enumeration
   [Expand]MemoEdit Class
    NewTokenPosition Enumeration
   [Expand]NumericMaskOptions Class
   [Expand]PagerControl Class
   [Expand]PaletteCollection Class
   [Expand]PasswordBoxEdit Class
    PasswordStrength Enumeration
   [Expand]PasswordStrengthEventArgs Class
   [Expand]PopupBaseEdit Class
   [Expand]PopupCalcEdit Class
    PopupCloseMode Enumeration
   [Expand]PopupColorEdit Class
    PopupFooterButtons Enumeration
   [Expand]PopupImageEdit Class
    PostMode Enumeration
   [Expand]PredefinedColorCollections Class
   [Expand]PredefinedPaletteCollections Class
   [Expand]ProcessNewValueEventArgs Class
    ProcessNewValueEventHandler Delegate
   [Expand]ProgressBarEdit Class
   [Expand]ProgressBarMarqueeStyleSettings Class
   [Expand]ProgressBarStyleSettings Class
   [Expand]RadioComboBoxStyleSettings Class
   [Expand]RadioListBoxEditStyleSettings Class
   [Expand]Range Class
   [Expand]RangeBaseEdit Class
   [Expand]RatingControl Class
   [Expand]RatingEdit Class
   [Expand]RatingItem Class
    RatingPrecision Enumeration
    ScrollUnit Enumeration
   [Expand]SearchControl Class
    SearchPanelParseMode Enumeration
    ShowLoadDialogOnClickMode Enumeration
    ShowMenuMode Enumeration
   [Expand]SparklineEdit Class
    SparklineSortOrder Enumeration
   [Expand]SparklineStyleSettings Class
    SparklineViewType Enumeration
   [Expand]SpinEdit Class
   [Expand]SpinEventArgs Class
    SpinEventHandler Delegate
    SpinStyle Enumeration
   [Expand]TextEdit Class
   [Expand]TextEditBase Class
   [Expand]TimePicker Class
   [Expand]TimePickerDateTimeChangedEventArgs Class
    TimePickerDateTimeChangedEventHandler Delegate
    TimeSpanInputMode Enumeration
   [Expand]TimeSpanMaskOptions Class
    TimeSpanPart Enumeration
   [Expand]ToggleSwitch Class
    ToggleSwitchAnimationMode Enumeration
    ToggleSwitchContentPlacement Enumeration
   [Expand]ToggleSwitchEdit Class
   [Expand]TokenActivatingEventArgs Class
   [Expand]TokenComboBoxStyleSettings Class
   [Expand]TokenEditorBehavior Class
   [Expand]TokensChangedEventArgs Class
   [Expand]TokensChangingEventArgs Class
   [Expand]TokenStateChangedEventArgs Class
   [Expand]TokenTextChangingEventArgs Class
   [Expand]TrackBarEdit Class
   [Expand]TrackBarEditRange Class
    TrackBarIncrementTargetEnum Enumeration
   [Expand]TrackBarRangeStyleSettings Class
   [Expand]TrackBarStyleSettings Class
   [Expand]TrackBarZoomRangeStyleSettings Class
   [Expand]TrackBarZoomStyleSettings Class
   [Expand]ValidationEventArgs Class
   [Expand]WinLossSparklineStyleSettings Class
  [Expand]DevExpress.Xpf.Editors.DataPager
  [Expand]DevExpress.Xpf.Editors.DateNavigator
  [Expand]DevExpress.Xpf.Editors.ExpressionEditor
  [Expand]DevExpress.Xpf.Editors.ExpressionEditor.Native
  [Expand]DevExpress.Xpf.Editors.Filtering
  [Expand]DevExpress.Xpf.Editors.Flyout
  [Expand]DevExpress.Xpf.Editors.Flyout.Native
  [Expand]DevExpress.Xpf.Editors.Helpers
  [Expand]DevExpress.Xpf.Editors.Native
  [Expand]DevExpress.Xpf.Editors.Popups
  [Expand]DevExpress.Xpf.Editors.RangeControl
  [Expand]DevExpress.Xpf.Editors.Settings
  [Expand]DevExpress.Xpf.Editors.Validation
  [Expand]DevExpress.Xpf.ExpressionEditor
  [Expand]DevExpress.Xpf.Gantt
  [Expand]DevExpress.Xpf.Gauges
  [Expand]DevExpress.Xpf.Gauges.Localization
  [Expand]DevExpress.Xpf.Grid
  [Expand]DevExpress.Xpf.Grid.ConditionalFormatting
  [Expand]DevExpress.Xpf.Grid.LookUp
  [Expand]DevExpress.Xpf.Grid.TreeList
  [Expand]DevExpress.Xpf.Layout.Core
  [Expand]DevExpress.Xpf.LayoutControl
  [Expand]DevExpress.Xpf.Map
  [Expand]DevExpress.Xpf.NavBar
  [Expand]DevExpress.Xpf.Navigation
  [Expand]DevExpress.Xpf.PdfViewer
  [Expand]DevExpress.Xpf.PivotGrid
  [Expand]DevExpress.Xpf.PivotGrid.Printing
  [Expand]DevExpress.Xpf.Printing
  [Expand]DevExpress.Xpf.Printing.Parameters
  [Expand]DevExpress.Xpf.Printing.Parameters.Models
  [Expand]DevExpress.Xpf.Printing.PreviewControl
  [Expand]DevExpress.Xpf.Printing.PreviewControl.Bars
  [Expand]DevExpress.Xpf.Prism
  [Expand]DevExpress.Xpf.PropertyGrid
  [Expand]DevExpress.Xpf.Reports.UserDesigner
  [Expand]DevExpress.Xpf.Reports.UserDesigner.Extensions
  [Expand]DevExpress.Xpf.Reports.UserDesigner.Localization
  [Expand]DevExpress.Xpf.Reports.UserDesigner.ReportWizard
  [Expand]DevExpress.Xpf.Reports.UserDesigner.ReportWizard.Pages
  [Expand]DevExpress.Xpf.Ribbon
  [Expand]DevExpress.Xpf.RichEdit
  [Expand]DevExpress.Xpf.RichEdit.Menu
  [Expand]DevExpress.Xpf.Scheduler
  [Expand]DevExpress.Xpf.Scheduler.Drawing
  [Expand]DevExpress.Xpf.Scheduler.Menu
  [Expand]DevExpress.Xpf.Scheduler.Reporting
  [Expand]DevExpress.Xpf.Scheduler.UI
  [Expand]DevExpress.Xpf.Scheduling
  [Expand]DevExpress.Xpf.Scheduling.Common
  [Expand]DevExpress.Xpf.Scheduling.Editors
  [Expand]DevExpress.Xpf.Scheduling.iCalendar
  [Expand]DevExpress.Xpf.Scheduling.Reporting
  [Expand]DevExpress.Xpf.Scheduling.Visual
  [Expand]DevExpress.Xpf.Scheduling.VisualData
  [Expand]DevExpress.Xpf.SpellChecker
  [Expand]DevExpress.Xpf.Spreadsheet
  [Expand]DevExpress.Xpf.Spreadsheet.Menu
  [Expand]DevExpress.Xpf.TreeMap
  [Expand]DevExpress.Xpf.Utils.Themes
  [Expand]DevExpress.Xpf.WindowsUI
  [Expand]DevExpress.Xpf.WindowsUI.Internal
  [Expand]DevExpress.Xpf.WindowsUI.Navigation
  [Expand]DevExpress.XtraRichEdit
  [Expand]DevExpress.XtraRichEdit.Printing
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Reporting
[Expand]Report and Dashboard Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

ButtonEdit Class

Represents a text editor with embedded buttons.

Namespace:DevExpress.Xpf.Editors
Assembly:DevExpress.Xpf.Core.v19.2.dll

Expanded Syntax

Expanded Remarks

ButtonEdit editors are text editors which allow you to display an unlimited number of buttons within the edit box.

Tip

The ButtonEdit class inherits its features from the TextEdit class.

Refer to the TextEdit class description for information on derived features and API.

Create a ButtonEdit

The editor's value can be specified using the BaseEdit.EditValue or TextEditBase.Text property.

To respond to changing the editor's value, handle the BaseEdit.EditValueChanged event. To check the new value's validity, handle the BaseEdit.Validate event.

Embedded Buttons

Default Button

The editor displays one button by default (the default button). The default button visibility is specified by the AllowDefaultButton property.

When an end user clicks the default button, the editor fires the DefaultButtonClick event.

Custom Buttons

To display more buttons, create ButtonInfo objects, and add them to the Buttons collection.

To respond to clicking a custom button, handle its ButtonInfo.Click event or specify a command.

Retrieve Buttons from ViewModel

You can load a set of custom buttons from a ViewModel and display them in the ButtonEdit. Use the ButtonsSource property to specify a collection of objects providing information to generate and initialize buttons for the current ButtonEdit. The ButtonTemplate property specifies the data template used to render buttons from the collection.

If you want to declare several data templates and apply one of them according to your own logic, use the ButtonTemplateSelector property.

Look and Feel

If the ShowText property is set to false, the edit box is hidden and only editor buttons are displayed (see the image below). If no buttons are visible, the editor displays an empty region.

The ShowEditorButtons property specifies whether the editor should display its buttons.

Edit Options

Set the IsTextEditable property to false to prevent end users from editing an editor's text values.

If the IsTextEditable property is set to false, end users are not allowed to change, select and copy the text displayed in the edit box, but can click editor buttons (if any).

Delete Button

End users can clear an editor value using a null value button.

You can use any of the following ways to add the delete button.

  1. Set the NullValueButtonPlacement (or the ButtonEditSettings.NullValueButtonPlacement for the in-place ButtonEdit) property to EditorPlacement.EditBox to display the delete button in the editor's edit box.

or

  1. Add a DeleteButtonInfo class instance to the editor's Buttons (ButtonEditSettings.Buttons for the in-place ButtonEdit) collection. In this case, you can fully customize the delete button's behavior and appearance. To set the default button's behavior, set the ButtonInfoBase.IsDefaultButton property to true.

Expanded Example

The following example shows how to create a ButtonEdit with the Clear button that clears the editor's value.

Expanded Inheritance Hierarchy

System.Object
    System.Windows.Threading.DispatcherObject
       System.Windows.DependencyObject
          System.Windows.Media.Visual
             System.Windows.UIElement
                System.Windows.FrameworkElement
                   System.Windows.Controls.Control
                      BaseEdit
                         TextEditBase
                            TextEdit
                               ButtonEdit
                                  AppointmentLabelEdit
                                  AppointmentLabelEdit
                                  AppointmentResourceEdit
                                  AppointmentResourceEdit
                                  AppointmentResourcesEdit
                                  AppointmentResourcesEdit
                                  AppointmentStatusEdit
                                  AppointmentStatusEdit
                                  AutoSuggestEdit
                                  DevExpress.Xpf.Scheduler.UI.CheckedResourcesComboBoxControlBase
                                  ComboBoxEdit
                                  DateEdit
                                  DurationEdit
                                  DevExpress.Xpf.Scheduler.UI.FixedSourceComboBoxEdit
                                  FontEdit
                                  ItemComboBoxEdit
                                  LookUpEdit
                                  LookUpEditBase
                                  MemoEdit
                                  MonthEdit
                                  PopupBaseEdit
                                  PopupBrushEdit
                                  DevExpress.Xpf.Editors.PopupBrushEditBase
                                  PopupCalcEdit
                                  PopupColorEdit
                                  PopupImageEdit
                                  ResourcesComboBoxControl
                                  DevExpress.Xpf.Scheduler.UI.ResourcesComboBoxControlBase
                                  ResourcesPopupCheckedListBoxControl
                                  DevExpress.Xpf.Scheduler.UI.SchedulerBoundComboBoxEdit
                                  SpinEdit
                                  DevExpress.Xpf.Scheduler.UI.StorageBoundComboBoxEdit
                                  TimeZoneEdit
                                  TimeZoneEdit
                                  WeekDaysEdit
                                  WeekOfMonthEdit

Expanded See Also

Is this topic helpful?​​​​​​​