2017-09-06 80 views
0

我有一個組合框用一個簡單的綁定拋出:如何捕捉出現FormatException由組合框的SelectedValue綁定

SelectedValue="{Binding Path=SomeValue, Mode=TwoWay} 

的問題是,someValue中有時是一個字符串不能分析爲int。我在設置ItemsSource後立即得到「System.FormatException:輸入字符串格式不正確。」。

第一個問題:如何處理異常,因爲我得到一個錯誤消息框。 第二個問題:我可以向用戶顯示一種驗證錯誤嗎?

注意:問題的來源來自視圖模型數據源,所以我不認爲它對經典驗證模式有任何意義。

+0

閱讀thath https://stackoverflow.com/questions/4902039/difference-between-selecteditem-selectedvalue-and-selectedvaluepath-你必須你的方式因爲我不知道你想要什麼... – GCamel

+0

什麼是你的ComboBox勢必?類型應該匹配。你在哪裏得到一個「錯誤消息框」? – mm8

+0

@Valentin所以,既然您從ViewModel設置了「SomeValue」,您可以使用Double.TryParse而不是Double.Parse。 – sTrenat

回答

0

創建一個虛擬轉換器並將其放入調試器並在其中放置一個斷點。它會變得很明顯什麼是錯的,類型會有所不同。使用Snoop通過保持控制移位並選擇該元素並在SelectedValue屬性下查找來確定錯誤日誌。