0
當應該綁定的類型不匹配時,WPF拋出什麼樣的異常?例如,如果我將TextBox
的Text
屬性綁定到integer
屬性,並在文本字段中鍵入某個字母(例如:abc)?當綁定類型不匹配時WPF異常
當應該綁定的類型不匹配時,WPF拋出什麼樣的異常?例如,如果我將TextBox
的Text
屬性綁定到integer
屬性,並在文本字段中鍵入某個字母(例如:abc)?當綁定類型不匹配時WPF異常
您對「驗證」有興趣。我相信,有一個默認驗證,它將綁定到文本等整數應該自動觸發。
默認情況下,它突出顯示紅色矩形中的文本框並顯示錯誤消息。它也關鍵不會更新源屬性。
您可以添加自定義數據驗證消息(以及其他條件)。要做到這一點添加ValidatesOnDataErrors="True"
到你的綁定:
<TextBox Text="{Binding MyInteger, ValidatesOnDataErrors=True}" Width="100" Margin="20"/>
,讓您的數據上下文繼承IDataErrorInfo
和實施類似如下:
public string Error
{
get
{
return string.Empty;
}
}
public string this[string columnName]
{
get
{
if (columnName == "MyInteger")
{
if (MyInteger < 0)
{
return "Must be an integer greater than 0!";
}
}
return "";
}
}
看看你的輸出窗口 – blindmeis