我有一個TextBox用於處理數字。因此我只接受[0-9。,]。但是,「。」是唯一有效的小數點分隔符。因此,我只是想在我的文本中這樣做,但我也想接受「,」,並將其與「。」交換。使得顯示的字符是有效的字符。將輸入字符交換爲WPF文本框,然後將其添加到文本中
那麼 - 如何交換輸入字符?我假設我可以獲取並在某些輸入事件中交換它?或者我必須在插入到TextBox後將其替換?
我試着在OnPreviewKeyDown和OnPreviewTextInput事件中交換它,但保持輸入字符的屬性是隻讀的。我想要這樣做:
protected override void OnPreviewKeyDown(System.Windows.Input.KeyEventArgs e)
{
if (e.Key == Key.OemComma)
{
e.Key = Key.OemPeriod;
}
base.OnPreviewKeyDown(e);
}
Thx。聽起來像是一個合理的解決方案,如果我需要在文本插入後做到這一點。在我接受答案之前等待,看看是否有人知道我是否可以控制實際輸入字符。 – stiank81 2010-08-04 12:13:10