если вы используете cinch, просто используйте прикрепленное поведение из этого превосходного фреймворка.но если нет, вы можете быть вдохновлены этой ссылкой, где он (автор cinch) решает эту проблему с помощью прикрепленного поведения: http://www.codeproject.com/KB/WPF/CinchII.aspx#NumericAtt
Редактировать: магия лежит здесь, где он "отключает" вставку
TextBox tb = sender as TextBox;
if (tb == null)
return;
tb.PreviewTextInput -= tbb_PreviewTextInput;
DataObject.RemovePastingHandler(tb, OnClipboardPaste);
bool b = ((e.NewValue != null && e.NewValue.GetType() == typeof(bool))) ?
(bool)e.NewValue : false;
if (b)
{
tb.PreviewTextInput += tbb_PreviewTextInput;
DataObject.AddPastingHandler(tb, OnClipboardPaste);
}