WPFのテキストボックスコントロールに問題があります。私はそれに数値だけを入力したい。簡単な解決策は、PreviewKeyDown
イベントでisNumeric()
関数を呼び出すことですが、数値をクリップボードにコピーしてテキストボックスに貼り付けると、チェックコードが呼び出されないという問題があります。貼り付けられた数字はどのように処理できますか?数値の貼り付けをWPFのテキストボックスで制限する方法
0
A
答えて
-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
this questionを参照してください。問題のより一般的な解決方法については、DataObject.AddPastingHandler
を参照してください。
0
私はTextBoxから派生した独自のクラスを使用します。コンストラクタでは、私はApplicationCommands.PasteでCommandBinding()を作成します。 "CanPaste"メソッドでは、貼り付けられたテキストを確認します(作業中のサンプルコードは表示できません)。
パルプ
チェックこのhttp://stackoverflow.com/questions/1268552/how-do-i-get-a-textbox-to-only-accept-numeric-input-in-wpf – anivas
ます。http: //stackoverflow.com/questions/938145/make-wpf-textbox-as-cut-copy-and-paste-restricted上記の – Shashank
リンクコピーペーストを防止する正しい方法を表示する – Shashank