从PivotControl中的ListBox获取ScrollViewer.VerticalOffset

时间:2012-01-23 03:14:51

标签: silverlight windows-phone

我的PivotControl包含ListBox元素:

<controls:Pivot Title="SECTIONS" x:Name="pivotControl" ItemsSource="{Binding SectionViewModels}">
            <controls:Pivot.HeaderTemplate>
                <!-- -->
            </controls:Pivot.HeaderTemplate>
            <controls:Pivot.ItemTemplate>
                <DataTemplate>
                    <StackPanel>
                        <!-- if you don't explicitly specify the height, the scrolling won't work -->
                        <ListBox ItemsSource="{Binding StoryViewModels}" SelectionChanged="StoryList_SelectionChanged"
                                 Height="625" u:ScrollViewerMonitor.AtEndCommand="{Binding ElementName=LayoutRoot, Path=DataContext.FetchMoreDataCommand}">
                            <ListBox.ItemTemplate>
                                <DataTemplate>
                                    <local:StoryControl />
                                </DataTemplate>
                            </ListBox.ItemTemplate>
                        </ListBox>

                    </StackPanel>
                </DataTemplate>
            </controls:Pivot.ItemTemplate>
        </controls:Pivot>

我想获取并设置与ScrollViewer.VerticalOffset对应的ListBox SectionViewModel(这是枢轴控件的项目来源)。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

在某些情况下,您需要访问视图元素。对于那些使用VisualTreeHelper的情况是解决方案。您可以在我的博客中找到summaryhelper extension methodsSilverlightSpy

我建议使用{{3}}来查看VisualTree在运行时是如何组合的,并能够更有效地导航它。