我有一个布局,其中有两个列表框,我试图使它们同步,并在网上找到了一些教程,例如http://www.software-architects.com/TechnicalArticles/ScrollSync/tabid/101/Default.aspx或Listboxes ,同步滚动,但它们似乎无法在 WP7 SDK 下工作,因为缺少事件或属性。有没有人解决了在 windows phone 7 下同步两个或多个列表框的问题?
提前致谢
我有一个布局,其中有两个列表框,我试图使它们同步,并在网上找到了一些教程,例如http://www.software-architects.com/TechnicalArticles/ScrollSync/tabid/101/Default.aspx或Listboxes ,同步滚动,但它们似乎无法在 WP7 SDK 下工作,因为缺少事件或属性。有没有人解决了在 windows phone 7 下同步两个或多个列表框的问题?
提前致谢
在这个问题中查看我的答案:WP7 ScrollViewer programatically scroll a background ScrollViewer in sync with front ScrollViewer
您将能够使滚动查看器保持同步,但它可能不流畅,因为 WP7 滚动查看器没有 Scroll 事件。
要获取由 ListBox 生成的 ScrollViewer,请使用 ColinE WP7 的此解决方案 - 在外部 ScrollViewer 中滚动 ListBox。
我想出了一个使用 Silverlight Toolkit for Wp7 提供的 WarpPanel 的解决方案
<ListBox Height="350" HorizontalAlignment="Left" Margin="102,72,0,0" Name="lsScore" VerticalAlignment="Top" Width="450" HorizontalContentAlignment="Center">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<toolkit:WrapPanel ItemWidth="220" ItemHeight="50"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
该解决方案使用一个总是同步的列表框,为了分离数据并对齐它们,我使用 ItemWidth 这就是它具有如此高值的原因。如果您知道任何其他在不使用 ItemWidth 属性的情况下分隔数据的方法,请随时添加答案。提前致谢。