2011-07-11 74 views
0

WPFのテキストボックスコントロールに問題があります。私はそれに数値だけを入力したい。簡単な解決策は、PreviewKeyDownイベントでisNumeric()関数を呼び出すことですが、数値をクリップボードにコピーしてテキストボックスに貼り付けると、チェックコードが呼び出されないという問題があります。貼り付けられた数字はどのように処理できますか?数値の貼り付けをWPFのテキストボックスで制限する方法

+0

チェックこのhttp://stackoverflow.com/questions/1268552/how-do-i-get-a-textbox-to-only-accept-numeric-input-in-wpf – anivas

+0

ます。http: //stackoverflow.com/questions/938145/make-wpf-textbox-as-cut-copy-and-paste-restricted上記の – Shashank

+0

リンクコピーペーストを防止する正しい方法を表示する – Shashank

答えて

-1

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); 
     } 
0

私はTextBoxから派生した独自のクラスを使用します。コンストラクタでは、私はApplicationCommands.PasteでCommandBinding()を作成します。 "CanPaste"メソッドでは、貼り付けられたテキストを確認します(作業中のサンプルコードは表示できません)。

パルプ

関連する問題