2016-04-07 18 views
0

我使用EditValueType="{x:Type system:Decimal}"控制DevExpress dxe:TextEdit。我希望這個TextEdit控件顯示並接受實際值的10,000倍的值。例如,如果有人輸入15,它應該將實際值保存爲.0015。如果視圖模型中的值爲.0015,則應顯示15.如何在WPF中表示基準點

我是WPF的新手,我不確定完成此操作的最佳方法。看起來我無法使用格式化字符串,但我可能是錯的。價值轉換器看起來像是矯枉過正。我也想過修改我的模型對象上的setter,但我認爲這不會起作用,而且看起來有點像hack-y。

回答

1

前段時間我和DevExpress一起工作過。

據我記得,你可以創建自己的TextEdit類。 (從TextEditBase派生或甚至更進一步從BaseEdit派生)。

然而,談論過度殺戮,我認爲這是一個比創建一個轉換器,這將是一個非常好的解決方案恕我直言,更大的過度殺手。

+0

好的,轉換器是WPF的標準做法嗎?說實話很難。 –

+1

轉換器的想法是將您的真實數據轉換爲想要顯示給用戶的可視化數據。你的例子是它的經典用法。 –

+0

太棒了,謝謝。 –

0

我會使用get/set函數來完成此操作。使用它們將演示文稿格式轉換爲存儲格式的完美方式。

+0

你知道這將如何與EF工作?比如,當EF從數據庫填充我的模型對象時,它是否不會調用setter,並將存儲的數據庫值除以10,000? –