wp7:如何检测屏幕可视化项目上的Listbox?

时间:2011-07-28 12:47:45

标签: windows-phone-7 listbox scroll

在我的应用程序中,有一个Listbox和一个文本块都耦合在scrollviewer中。意味着我想要同时滚动列表框和文本块(遵循XAML可能更好地解释)。我想在列表框的textblock中显示一些文本当前在屏幕上可见的项目。所以我必须知道屏幕上当前可以看到哪个项目。

现在我不知道该怎么做。任何建议或评论都是可观的。提前致谢。

<ScrollViewer  HorizontalScrollBarVisibility="Auto">

  <StackPanel>

    <ListBox x:Name="myListBox"  SelectionChanged="SelectinoChanged" Height="150">
      <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
          <StackPanel Orientation ="Horizontal" >
            <StackPanel.RenderTransform>
              <TranslateTransform X="0"/>
            </StackPanel.RenderTransform>
          </StackPanel>
        </ItemsPanelTemplate>
      </ListBox.ItemsPanel>

      <ListBox.ItemTemplate>
        <DataTemplate>
          <StackPanel Orientation="Horizontal">
            <TextBlock Text="{Binding name}" FontSize="30"/>
            <Button Content="{Binding name}" FontSize="30" Name="but" Click="but_Click"/>
          </StackPanel>
        </DataTemplate>
      </ListBox.ItemTemplate>
    </ListBox>

    <TextBlock Name="tb" TextWrapping="Wrap" FontSize="40" Height="50" />

  </StackPanel>

</ScrollViewer>

1 个答案:

答案 0 :(得分:2)

列表框中包含一个ScrollViewer。

所以你应该删除你的ScrollViewer!

<StackPanel>
    <ListBox x:Name="myListBox>
        ...
    </ListBox>
    <TextBlock Name="tb"/>
</StackPanel>

并且可能在ListBox上设置

HorizontalScrollBarVisibility="Auto"