【问题标题】:How to catch FormatException thrown by a combobox SelectedValue binding如何捕获组合框 SelectedValue 绑定引发的 FormatException
【发布时间】:2017-09-06 11:26:21
【问题描述】:

我有一个带有简单绑定的组合框:

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

问题是 SomeValue 有时是一个无法解析为 int 的字符串。我一设置 ItemsSource,就会得到“System.FormatException:输入字符串的格式不正确。”。

第一个问题:收到错误消息框后如何处理异常。 第二个问题:我可以向用户显示一种验证错误吗?

注意:问题的根源来自视图模型数据源,所以我认为它与经典验证模式无关。

【问题讨论】:

  • 请阅读 stackoverflow.com/questions/4902039/… - 你必须按照自己的方式行事,因为我不确定你想要什么......
  • 您的 ComboBox 绑定到什么?类型应该匹配。你在哪里得到一个“错误消息框”?
  • @Valentin 因此,由于您从 ViewModel 设置了 SomeValue,因此您可以使用 Double.TryParse 而不是 Double.Parse。

标签: c# wpf combobox


【解决方案1】:

创建一个虚拟转换器并将其放入调试器并在其中设置断点。很明显什么是错的,类型会有所不同。使用 Snoop 通过按住 control shift 并选择该元素并查看 SelectedValue 属性来确定错误日志。

【讨论】:

    猜你喜欢
    • 2021-10-11
    • 2015-07-11
    • 2017-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多