TornadoFX привязать ListView к ListProperty - PullRequest
0 голосов
/ 09 мая 2018

Возможно ли в tornadoFX связать ListView с ListProperty?

У меня есть ViewModel, как показано ниже:

class MyVm: ItemViewModel<Item>() {
    val stringProperty = bind { item?.myString?.toProperty() }
}

class MyView: View() {
    ...
    init {
        with (root) {
            label(myVm.stringProperty)
        }
    }
}

если элемент изменяется с vm.item = Item(...), stringProperty будет соответственно обновлен, что обновит все связанные метки и т. Д. *

Теперь я хочу сделать то же самое с ListView:

class MyVm: ItemViewModel<Item>() {
    val listProperty = bind { item?.myList?.toProperty() }
}

class MyView: View() {
    ...
    init {
        with (root) {
            listview {
                items = myVm.listProperty
            }
        }
    }
}

Но в этом случае компилятор жалуется, что listview.items ожидает ObservableList вместо ListProperty

1 Ответ

0 голосов
/ 10 мая 2018

Определите вашу привязку как ListProperty и передайте listProperty в построитель списка:

val listProperty = bind(Item::myList) as ListProperty<YourType>

..

listview(myVm.listProperty)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...