私は入力を10進数に制限したいテキストボックスを持つSilverlightアプリケーションを持っています。ウェブの検索私は次の可能な解決策を見つけました(同じ行のコードの著者を主張している別の人々と別々の場所で不思議なことに) 少なくとも1つの数字が入力された後、 d 'を入力すると大文字と小文字のどちらにも入力できないので、なぜそれが起こっているのか理解できず、そのことを防ぐ方法を見つけることができません。誰でも解決策を提供してください。どうもありがとう。小数点のみを受け入れるSilverlightテキストボックス
private void Unit_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Tab)
{
}
var thisKeyStr = "";
if (e.PlatformKeyCode == 190 || e.PlatformKeyCode == 110)
{
thisKeyStr = ".";
}
else
{
thisKeyStr = e.Key.ToString().Replace("D", "").Replace("NumPad", "");
}
var s = (sender as TextBox).Text + thisKeyStr;
var rStr = "^[0-9]+[.]?[0-9]*$";
var r = new Regex(rStr, RegexOptions.IgnoreCase);
e.Handled = !r.IsMatch(s);
}
おかげで、あなた//も可能NO:私のために最善を動作するようです解決策がある、おかげで再び。 – user995689