我綁定TextBox.Text到int
屬性整數屬性:WPF綁定的TextBox沒有拋出異常
<TextBox Text="{Binding Lines, UpdateSourceTrigger=PropertyChanged}" />
private int _lines = 10;
public int Lines
{
get { return _lines; }
set { _lines = value; }
}
一切如預期這個簡單的代碼工作,有一個文本框,甚至驗證。然而,在輸出日誌中拋出異常System.FormatException
。我的問題是:
有沒有優雅的方式擺脫例外,而幾乎沒有重新實現一切我自己?
通過我所說的一切,我的意思是驗證者,轉換器等簡單噸代碼不做任何事情,只是撥打Int32.TryParse
而不是Int32.Parse
。不是wpf拋出和處理的異常將是一個大問題,但完整的日誌使得發現實際問題變得更加困難。
你可以防止用戶輸入無效值 – Domysee
@Domysee你的意思是像處理textChanged和回滾字段,如果它不能被解析?我想這可以工作 - 不完全一樣的行爲,但它可以。 – wondra
確切地說,我會處理PreviewKeyDown事件,並取消它的無效鍵,但原則上它是相同的 – Domysee