WPF:数値しか受け付けないテキストボックスの作り方

やりたいこと

 wpfで数値のみしか受け付けないテキストボックスを作りたい

答えへのリンク

qiita.com
 これを読めばOK。

ほぼコピペだが要点を記載

 PreviewTextInputで入力前に文字列を取得し、RegexクラスのIsMatch静的メソッドで数値かどうかを判定、数値以外ならば入力をキャンセル(e.Handlerにfalseを代入)。数値しか受け付けないテキストボックスは一つのユーザーコントロールに複数配置することが多いので、ここではsenderから文字列を取ることにして、複数のテキストボックスのPreviewTextInputにこのイベントを登録している。

using System.Text.RegularExpressions;

        Regex regex = new Regex("[^0-9.]+");
        private void TextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
        {
            var text = ((TextBox)sender).Text + e.Text;
            e.Handled = regex.IsMatch(text);
        }