با سلام
اینک کد که به صورت کامل مشکل فقط عدد بود یک تکست باکس رو حل میکنه این کد قادر هست که حتی Ctrl+V رو هم تشخیص بده
// Use the PreviewTextInputHandler to respond to key presses
private void PreviewTextInputHandler(Object sender, TextCompositionEventArgs e)
{
e.Handled = !IsTextAllowed(e.Text);
}
private Boolean IsTextAllowed(String text)
{
foreach (Char c in text.ToCharArray())
{
if (Char.IsDigit(c) || Char.IsControl(c)) continue;
else return false;
}
return true;
}
// Use the DataObject.Pasting Handler
private void PastingHandler(object sender, DataObjectPastingEventArgs e)
{
if (e.DataObject.GetDataPresent(typeof(String)))
{
String text = (String)e.DataObject.GetData(typeof(String));
if (!IsTextAllowed(text)) e.CancelCommand();
}
else e.CancelCommand();
}
PreviewTextInput="PreviewTextInputHandler" DataObject.Pasting="PastingHandler"
منبع : karlhulme.wordpress.com