3
我有我自己的errorprovider,不想使用任何內置的WPF東西。我有一個綁定到整數的文本框,並且我有ValidatesOnExceptions = False和ValidatesOnDataErrors = False。但是當我在文本框中輸入一個非整數時,我會看到一個紅色邊框。有什麼我失蹤?WPF ValidatesOnDataErrors =假不工作
我有我自己的errorprovider,不想使用任何內置的WPF東西。我有一個綁定到整數的文本框,並且我有ValidatesOnExceptions = False和ValidatesOnDataErrors = False。但是當我在文本框中輸入一個非整數時,我會看到一個紅色邊框。有什麼我失蹤?WPF ValidatesOnDataErrors =假不工作
您有幾種選擇
您可以使用自定義值轉換器,不會拋出異常,當你嘗試哄一個字符串轉換成整數
class CustomConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value.ToString();
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
int x = -1;
Int32.TryParse(value.ToString(), out x);
return x;
}
}
您可以更改UpdateSourceTrigger以明確和有控制權正是時候數據綁定已更新。
您可以使用Expression Blend中編輯文本框模板的本地副本,並刪除相關的綁定驗證錯誤
@ Justin984所有的東西。你有類似的事情發生在這裏,這是因爲你綁定到一個int:http://stackoverflow.com/questions/8435030/how-validatesonexceptions-works – 2012-07-31 16:28:08
嗯,我希望有一種簡單的方法來關閉紅色邊框,而無需編輯模板。感謝您確認我的懷疑。爲了防止某人有一個聰明的解決方案,我會把這個開放一段時間,但我猜這將是答案。 – ConditionRacer 2012-07-31 16:38:10