【问题标题】:Adding a tabbed pane to a navigation pane - BlackBerry 10将选项卡式窗格添加到导航窗格 - BlackBerry 10
【发布时间】:2014-02-10 16:11:22
【问题描述】:

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

【问题讨论】:

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


    【解决方案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();
    }
    

    我没有对此进行测试,但它应该可以工作。

    【讨论】:

    • 它可以工作,但它不允许我使用 Peek 返回上一页。也没有出现必要的内容。
    • 您将无法实现所需的偷看行为。这是因为选项卡式窗格不允许在下方查看(查看手势用于查看选项卡的完整列表)。这就是您不能将选项卡式窗格放置在导航窗格内的部分原因。我建议用分段控件替换选项卡式窗格。这将允许您在导航窗格中推送您的页面。 developer.blackberry.com/native/documentation/cascades/ui/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-03
    • 2019-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多