using System.Windows; using System.Windows.Controls; using Microsoft.Xaml.Behaviors; namespace DTS.Common.Behaviors { public class TrimTextBoxBehavior : Behavior { protected override void OnAttached() { base.OnAttached(); AssociatedObject.LostFocus += AssociatedObject_LostFocus; } private void AssociatedObject_LostFocus(object sender, RoutedEventArgs e) { var trim = AssociatedObject.Text.Trim(); if (trim != AssociatedObject.Text) { AssociatedObject.Text = trim; AssociatedObject.GetBindingExpression(TextBox.TextProperty).UpdateSource(); } } protected override void OnDetaching() { base.OnDetaching(); AssociatedObject.LostFocus -= AssociatedObject_LostFocus; } } }