2011-09-12 70 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領域添加屬性:/但是,謝謝,如果沒有別的東西,它會工作。 –