/ / ScrollIntoView методът не работи на моя хоризонтален списък - c #, xaml, silverlight, windows-phone-8

Методът ScrollIntoView не работи на моя хоризонтален списък - c #, xaml, silverlight, windows-phone-8

Направих хоризонтален списък и го изпълнихданни и задайте елемента по подразбиране, който е "извън" на екрана. След това призовах метода ScrollIntoView, но нищо не се случва. Какво съм направил погрешно?

Свързана част от моя XAML (мисля, че проблемът е някъде тук):

<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.Template>
<ControlTemplate TargetType="ItemsControl">
<ScrollViewer HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Disabled">
<ItemsPresenter x:Name="itemsPresenter" />
</ScrollViewer>
</ControlTemplate>
</ListBox.Template>

И C # код:

reservationsListBox.SelectedIndex = 40;
reservationsListBox.ScrollIntoView(reservationsListBox.Items[reservationsListBox.SelectedIndex]);

Отговори:

0 за отговор № 1

Във вашия ControlTemplate ScrollViewer се нуждае от x: Name = "ScrollViewer".

<ListBox.Template>
<ControlTemplate TargetType="ItemsControl">
<ScrollViewer x:Name="ScrollViewer" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Disabled">
<ItemsPresenter x:Name="itemsPresenter" />
</ScrollViewer>
</ControlTemplate>
</ListBox.Template>

В противен случай функцията ScrollIntoView не може да намери зрителя за превъртане.