2013-08-03 50 views
0

我將UITextView綁定到數據類型爲float的字段,似乎綁定機制在驗證我的數據時過於警惕,因此我實際上無法輸入浮點數。爲什麼我不能在綁定的UITextView中輸入小數點?

具體來說,如果我在我的UITextView中鍵入「7」,數據模型中的浮動字段會更新。如果我在文本視圖中粘貼「7.2」,它也會更新。但是如果我輸入「7」。 (在鍵入「7.2」的過程中),綁定失敗,並顯示錯誤:

MvxBind:Error:365.27 SetValue failed with exception - FormatException: Invalid format.

從「7.」開始,這可以說是正確的。不是有效的數字字符串。

但它也丟棄小數點,所以我不能輸入我的號碼。它只是在文本視圖中留下「7」。奇怪的是,這只是影響小數點/週期字符。如果我輸入「7X」,它不會綁定,但它確實讓我輸入X.這裏發生了什麼?

+0

最近已經解決了這個問題 - 請參閱https://github.com/slodge/MvvmCross/issues/350 - for double我相信在mvvmcross-tutorials中的示例中有一個工作示例 - 請參閱https:// github中的TextView .com/slodge/MvvmCross-Tutorials/blob/master/ApiExamples/ApiExamples.Touch/Views/FirstView.cs – Stuart

回答

0

只是可能嘗試綁定到字符串值,並在代碼字符串< =>浮點轉換?此外,這應該是更好的單向觸摸方式,因爲基於通用.net函數而不是UI實現。

+0

恐怕我真的不明白你在說什麼。 –

+0

我不認爲你應該將UITextView綁定到浮動字段。你應該將它綁定到字符串字段。如果你需要將這個字符串翻譯爲浮點數,你應該在代碼隱藏後自己檢查格式。 –

相關問題