おそらく仕事ができる最も簡単な方法は、OnTextChanged
イベントに結合し、あなたのルールに従ってテキストを変更することです。
<TextBox x:Name="TheText" TextChanged="OnTextChanged" MaxLength="4"/>
private void OnTextChanged(object sender, TextChangedEventArgs e)
{
if (TheText.Text.Length == 0) return;
var text = TheText.Text;
int result;
var isValid = int.TryParse(text, out result);
if (isValid) return;
TheText.Text = text.Remove(text.Length - 1);
TheText.SelectionStart = text.Length;
}
メトロのマントラがタッチ最初のUIであり、あなたはFlipView
制御との接触最初のやり方でそれを簡単に行うことができますので、私は離れて、このアプローチから敬遠したいです。
これは主に私が抱えていた問題を解決するため、答えとしてマークします。これにより、TextBoxは数字だけを表示するように制限されます。しかし、私はその後、私のアプリのこの部分を再訪し、問題を完全に回避するために、年フィールドをComboBoxに置き換えました。 (私は可能な年月の固定範囲を持っているので、最初にComboBoxを使用しなかった理由はわかりません) –