0
我應該訂閱哪些事件才能在事件參數中獲得TextBox
的Text
?通過事件參數接收控件文本的事件
我試過PreviewTextInput
,但是如果輸入字符串是例如「122」。該框(見代碼)文本是沒有點,但eventArgs.Text是「。」並且輸入字符串驗證成功,TextBox.Text爲「122 ..」。我想要做的是通過調用decimal.TryParse
來驗證輸入的字符串是否爲十進制。
private void OnPreviewTextInput(object sender, TextCompositionEventArgs eventArgs)
{
var box = sender as TextBox;
if (box == null) return;
eventArgs.Handled = !ValidationUtils.IsValid(box.Text + eventArgs.Text);
}
只需要確保你要麼禁止複製粘貼或處理明確糊事件將繞過該驗證 – Viv
你試過這個代碼?我在這一行得到ArgumentOutOfRangeException var text = textBox.Text.Insert(textBox.CaretIndex,e.Text);' – Sega
@sega當然。這對我來說可以。當然,處理程序被附加到'PreviewTextInput'事件。 – Clemens