[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
 [Expand]What's Installed
 [Expand]Common Concepts
 [Collapse]MVVM Framework
    Getting Started
   [Expand]Predefined Set
    How to: Create a Custom Behavior
   Data Annotation Attributes
   Weak Event
 [Expand]Controls and Libraries
 [Expand]Scaffolding Wizard
  Redistribution and Deployment
  Get More Help
 [Expand]API Reference
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Report and Dashboard Server
[Expand]eXpressApp Framework
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation

How to: Create a Custom Behavior

The DevExpress.Mvvm.UI.Interactivity.Interaction class implements a Behaviors attached property. This property is read-only and contains a collection of Behaviors.

All Behaviors descend from the Behavior<T> class. The T parameter sets the type of the associated control. For instance, the Behavior below can only be applied to the TextBox control (or for a control descended from the TextBox control).

The Behavior<T> class provides the AssociatedObject property that is set internally once a Behavior is added to the Behaviors collection. After the AssociatedObject property is set, the OnAttached virtual method is invoked. You can override this method to subscribe to AssociatedObject events and initialize properties. When the Behavior is destroyed, an OnDetaching virtual method is called, where you can unsubscribe from events.

Also, behaviors may provide properties and events that you can set or bind in Xaml.

Expanded Example

The below example demonstrates a more complex example of how to create a custom Behavior.

Show Me

A complete sample project is available in the DevExpress Code Examples database at http://www.devexpress.com/example=E5161.

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