将选项卡式窗格添加到导航窗格 - BlackBerry 10

时间:2014-02-10 16:11:23

标签: xml blackberry qml blackberry-10 blackberry-cascades

对于我的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>

1 个答案:

答案 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();
}

我没有对此进行测试,但它应该有效。