【发布时间】:2011-11-15 08:55:44
【问题描述】:
这是我的代码 sn-p:
<TextBox Text="{Binding Path=Amount, Mode=TwoWay, StringFormat=\{0:N\}}" />
如果用户输入字母或大数字等,stringformat 会默默地死掉。我怎样才能引发异常?
谢谢
【问题讨论】:
标签: silverlight silverlight-4.0
这是我的代码 sn-p:
<TextBox Text="{Binding Path=Amount, Mode=TwoWay, StringFormat=\{0:N\}}" />
如果用户输入字母或大数字等,stringformat 会默默地死掉。我怎样才能引发异常?
谢谢
【问题讨论】:
标签: silverlight silverlight-4.0
当文本输入无法转换为源对象的属性所需的数据类型时,绑定会吞下异常。但是,您可以在绑定中指定 ValidatesOnException。这将导致转换问题的标准红色边框报告。顺便说一句,这与仅与显示当前值相关的字符串格式属性无关,当用户输入数据时它不起作用。
<TextBox Text="{Binding Path=Amount, Mode=TwoWay, StringFormat=\{0:N\}, ValidatesOnExceptions=True}" HorizontalAlignment="Left" Width="200"/>
注意我限制了宽度并左对齐。默认验证弹出窗口的问题之一是它始终显示在右侧,当文本框右边框与 silverlight 控件右边缘的右边缘齐平时,这有点问题。
【讨论】:
您是否想过编写一个过滤器行为,让您可以准确控制文本框中的内容?
【讨论】: