在运行时访问ListItemComponents

时间:2013-08-22 08:25:03

标签: qml blackberry-10 blackberry-cascades

现在我正在尝试创建一个ListView,它使用自定义QML加载dataModel。这是我的代码片段:

ListView {
            id: firstPageListView
            visible: false
            dataModel: firstPageDataModel

            layout: GridListLayout {
                columnCount: 1
                cellAspectRatio: 2.0
                headerMode: ListHeaderMode.Standard
                verticalCellSpacing: 10
            }

            listItemComponents: [

                ListItemComponent {
                    //custom qml that will be used
                    ThumbNote {
                        title: ListItemData.title
                        text: ListItemData.text
                        imageSource: ListItemData.image
                        listmode: true //list mode
                        date: ListItemData.date

                    }
                }
            ]

        }

我想创建一个按钮,将每个组件的listmode属性更改为false。通过这样做,对象将调用在ThumbNote QML的onListModeChanged()中设置的函数。

对不起我的英语很差,任何帮助都将不胜感激。 :)

1 个答案:

答案 0 :(得分:3)

也许您可以考虑向ListView添加属性并将ThumbNotes的属性绑定到它。

E.g:

ListView {
        id: firstPageListView
        visible: true
        dataModel: firstPageDataModel

        property bool listMode: true
        ...
        listItemComponents: [

            ListItemComponent {
                //custom qml that will be used
                ThumbNote {
                    title: ListItemData.title
                    text: ListItemData.text
                    imageSource: ListItemData.image
                    listmode: firstPageListView.listMode
                    date: ListItemData.date

                }
            }
        ]

}
Button {
    onClicked: {
        firstPageListView.listMode = false; 
    }
}