2017-09-06 70 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属性下查找来确定错误日志。