我有两个(或更多)并排的 ListView。我需要它们充当一个,因此每个选定的索引总是相同的。
问问题
820 次
2 回答
1
这应该工作:),也许。
var lv1 = ListView {
}
var lv2 = ListView {
}
var onSync = false;
var sel1 = bind lv1.selectedIndex on replace {
if (not onSync) {
onSync = true;
lv2.select(sel1);
onSync = false;
}
}
var sel2 = bind lv2.selectedIndex on replace {
if (not onSync) {
onSync = true;
lv1.select(sel2);
onSync = false;
}
}
于 2010-04-27T11:56:16.263 回答
0
“与逆绑定”似乎是一种选择:
var a;
var b = bind a with inverse;
仅适用于简单的表达式。任何更复杂的东西都会产生警告/错误。
除了不是因为 ListView 的 selectedIndex 是公开读取的(感谢更正)。
你必须这样做:
var lv1 = ListView {
}
var lv2 = ListView {
}
var sel1 = bind lv1.selectedIndex on replace {
lv2.select(sel1);
}
var sel2 = bind lv2.selectedIndex on replace {
lv1.select(sel1);
}
您可能还想在这里和那里添加一些 ifs 以避免额外的 select() 调用。
于 2010-04-22T14:53:08.067 回答