wp7: как обнаружить список на экране визуализируемого элемента? - PullRequest
0 голосов
/ 28 июля 2011

В моем приложении есть один Listbox и один текстовый блок, оба связаны внутри scrollviewer.Означает, что я хочу прокрутить список и текстовый блок вместе (следующий XAML может объяснить лучше).Я хочу показать какой-либо текст в текстовом блоке из списка, какой элемент в данный момент отображается на экране.Поэтому я должен знать, какой элемент в данный момент отображается на экране.

Сейчас я понятия не имею, что делать.Любое предложение или комментарий заслуживают внимания.Заранее спасибо.

<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 Ответ

2 голосов
/ 28 июля 2011

список содержит ScrollViewer в нем.

, поэтому вы должны просто удалить свой ScrollViewer!

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

и, возможно, установить его в ListBox

HorizontalScrollBarVisibility="Auto"
...