同步两个列表框

时间:2012-06-06 16:23:58

标签: c# silverlight windows-phone-7 windows-phone-7.1

我有一个布局,其中有两个列表框,我试图让它们同步并在网上找到一些教程,如http://www.software-architects.com/TechnicalArticles/ScrollSync/tabid/101/Default.aspxListboxes, scrolling in sync,但它们似乎不适用于WP7 SDK,因为那里缺少事件或属性。有没有人解决了在Windows Phone 7下同步两个或多个列表框的问题?

提前致谢

2 个答案:

答案 0 :(得分:0)

请参阅此问题中的答案:WP7 ScrollViewer programatically scroll a background ScrollViewer in sync with front ScrollViewer

您将能够保持滚动查看器同步,但它可能不顺畅,因为WP7滚动查看器没有滚动事件。

要获取由ListBox生成的ScrollViewer,请使用ColinE WP7 - Scrolling ListBox in external ScrollViewer的此解决方案。

答案 1 :(得分:0)

我想出了一个使用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属性的情况下分离数据的任何其他方法,请随意添加答案。提前谢谢。