我有一个scrollview,我想在其中放置两个具有相同委托的网格视图,但具有不同的模型。但是,我希望他们能够分享"突出显示功能,虽然我希望模型以不同方式突出显示。这可能吗?现在,网格视图在滚动视图内重叠。
<input type="text" data-bind="
textInput: MyText,
event: {
keyup: function(data, event) { console.log(data.MyText()); }
}" />
<span data-bind="text: MyText" />
答案 0 :(得分:0)
当您在第一个模型的最后一个项目和最后一个模型的第一个项目时,可以使用KeyNavigation附加属性覆盖向上/向下按钮。
使用ListViews的示例:
Column {
anchors.fill: parent
ListView{
id: list1
focus: true
onFocusChanged: focus ? currentIndex = model1.count-1 : currentIndex = -1
height: contentHeight
width: parent.width
model: model1
delegate: Text { text: name }
highlight: Rectangle { color: "red"; radius: 5 }
KeyNavigation.down: list2
onCurrentIndexChanged: {
if (currentIndex == model1.count-1)
KeyNavigation.priority=KeyNavigation.BeforeItem
else
KeyNavigation.priority=KeyNavigation.AfterItem
}
}
ListView {
id:list2
focus: false
onFocusChanged: focus ? currentIndex = 0 : currentIndex = -1
currentIndex: -1
model: model2
height: contentHeight
width: parent.width
delegate: Text { text: name }
highlight: Rectangle { color: "blue"; radius: 5 }
KeyNavigation.up: list1
onKeyNavigationWrapsChanged: console.log("k")
onCurrentIndexChanged: {
if (currentIndex == 0)
KeyNavigation.priority=KeyNavigation.BeforeItem
else
KeyNavigation.priority=KeyNavigation.AfterItem
}
}
}
在这个例子中,它看起来像是一个单一的模型,但它们将使用不同的荧光笔。