2011-09-12 73 views

回答

3

绑定swallow当文本输入无法转换为源对象上的属性所需的数据类型时抛出异常。但是,您可以在绑定中指定ValidatesOnException。这将导致标准的红色边框报告转换问题。顺便说一句,这与字符串格式属性无关,只与显示当前值有关,当用户输入数据时不会播放。

<TextBox Text="{Binding Path=Amount, Mode=TwoWay, StringFormat=\{0:N\}, ValidatesOnExceptions=True}" HorizontalAlignment="Left" Width="200"/> 

注意:我已经限制了宽度并对齐到左侧。默认验证弹出窗口的一个问题是,它始终显示在右侧,当文本框右边框与Silverlight控件的右边缘的右边缘齐平时,这是有点问题。

+0

我仍然要编辑我的gazillion字段,但它比我想要的要好,所以谢谢:) –

+0

validatesOnException非常好,但我有一个本地化问题:http://stackoverflow.com/q/7399822/204682 –

2

你有没有想过写一个过滤器的行为,使您可以精确控制进入文本框的?

+0

你是什么意思? –

+0

在WPF/Silverlight中,您可以为控件类型编写可重用的行为。对于您的场景,您可以编写一个限制输入的文本类型的文本框行为,例如数字只。有一些阅读这些想法:http://www.dataartist.net/blog/post/Silverlight-Behavior-Modifications-13-NumericOnlyBehavior.aspx http://csharperimage.jeremylikness.com/2009/10/silverlight- behaviour-and-triggers_07.html –

+0

我希望避免给我的gazillion领域添加属性:/但是,谢谢,如果没有别的东西,它会工作。 –