对于我的Blackberry 10应用程序,我想要做的是将选项卡式窗格连接到导航窗格。但是,当用户从列表中选择项目时,我该怎么做?我已经创建了一个列表视图,其中项目源基于XML文件,但我想知道我的ListView的onTriggered事件需要更改什么,因为我认为它与此有关,目前它只推动页。
QML
import bb.cascades 1.2
Page {
id: waterlooandcity
Container {
ListView {
dataModel: XmlDataModel {source: "asset:///models/WC.xml"}
listItemComponents: [
ListItemComponent {
type: "item"
content: Container {
StandardListItem {
title: ListItemData.title
description: ListItemData.zone
}
}
}
]
onTriggered: {
var chosenItem = dataModel.data(indexPath);
Qt.pageTitle = chosenItem.title;
chosenPage.source = chosenItem.file;
nav.push(chosenPage.createObject());
}
}
}
}
XML
<root>
<item title="Bank" zone="Fare zone 1" file="Bank_(WC).qml"/>
<item title="Waterloo" zone="Fare zone 1" file="WAT_(WC).qml"/>
</root>
答案 0 :(得分:1)
TabbedPane不能放在NavigationPane或Page内。通常假设它是应用程序的根目录。
您可以做的是打开包含TabbedPane的工作表。
如:
attachedObjects: [
Sheet {
id: tabSheet
property variant source
TabbedPane {
//insert tabs here
}
}
]
然后你可以打开工作表并将参数传递给它:
onTriggered: {
var chosenItem = dataModel.data(indexPath);
Qt.pageTitle = chosenItem.title;
tabSheet.source = chosenItem.file;
tabSheet.open();
}
我没有对此进行测试,但它应该有效。