从堆叠页面访问导航窗格

时间:2016-05-16 18:00:25

标签: blackberry qml blackberry-10 blackberry-cascades

我是Blackberry Cascades的新手,我想创建一个简单的NavigationPane。我非常习惯Qt的StackView,它可以让你推送和弹出页面。但是,Qt的[StackView][1]具有名为Stack.view的附加属性,允许您从任何子页面访问堆栈。

我怎样才能在Blackberry的Cascades中做到这一点?是否可以从您当前页面访问NavigationPane页面堆栈?我认为这非常有用。

例如,我有这个简单的项目,其中包含两个qml文件,每个文件代表一个页面:

主页:

// main.qml
import bb.cascades 1.4
NavigationPane {
    id: nav
    Page {
        Container {
            ListView {
                dataModel: XmlDataModel {
                    source: "data.xml"
                }
                onTriggered: {

                    if (indexPath.length > 1) {
                        var chosenItem = dataModel.data(indexPath);
                        var contentpage = itemPageDefinition.createObject();

                        contentpage.itemPageTitle = chosenItem.name
                        nav.push(contentpage);
                    }
                }
                accessibility.name: "Listing"
            }

        }

    }
    attachedObjects: [
        ComponentDefinition {
            id: itemPageDefinition
            source: "ItemPage.qml"
        }
    ]
    onPopTransitionEnded: {
        page.destroy();
    }
}

辅助页面:

// ItemPage.qml
import bb.cascades 1.4

Page {
    property alias itemPageTitle: titlebar.title

    titleBar: TitleBar {
        id: titlebar
    }

    content: Container {
    }
}

是否可以从nav访问NavigationPaneItemPage.qml?我想要,例如从ItemPage.qml创建一个新页面并将其推入堆栈。是否可以这样做?

修改

例如,Blackberry开发者网站上有this文档页面,其中有一个主页面示例:

enter image description here

和辅助页面:

enter image description here

如您所见,在辅助myPage.qml中,他使用navigationPane。怎么可能?他如何访问另一个组件中的ID?

0 个答案:

没有答案