我試圖創建一個綁定BigDecimal
屬性它是其他兩個BigDecimal
性質在的計算,像這樣:在TornadoFX中,如何使用objectBinding將BigDecimal特性綁定到另一個BigDecimal屬性?
val caculatedProperty: ObjectProperty<BigDecimal> = objectBinding<Any, BigDecimal>(sumProperty, discountProperty) { ... }
...就像我會StringProperty
或IntegerProperty
做的,能不工作,否則的問題。但是,這一次我得到一個類型不匹配:它期望ObjectProperty<BigDecimal>
,但收到ObjectBinding<BigDecimal?>
。
這裏有什麼問題?我錯誤地使用了objectProperty()
方法嗎?我應該使用其他方法創建自定義對象的綁定嗎?
編輯:
的問題是,我試圖從父類與ObjectBinding<BigDecimal>
覆蓋ObjectProperty<BigDecimal>
。在我的情況下,解決方案是創建原始的ObjectProperty<BigDecimal>
抽象,並將實現留給繼承它的類。
有沒有辦法從'Binding'創建一個(可能是隻讀的)'Property'?我想在ItemViewModel中使用我的綁定,但是我不能使用'bind {}',因爲它是'Binding',而不是'Property' ... –
我已經使用'ReadOnlyObjectWrapper'將綁定轉換爲' ReadOnlyObjectProperty'。有沒有更好的辦法? –
確實有趣的問題。我會在週末期間對此進行調查並回復你:) –