2012-01-23 36 views
0

我有一個PivotControl包含ListBox元素:獲取ScrollViewer.VerticalOffset從列表框在PivotControl

<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> 

我想獲取和設置對應於給定SectionViewModel一個ListBoxScrollViewer.VerticalOffset(這是項目源樞軸控制)。我怎樣才能做到這一點?

回答

0

有些情況下您需要訪問視圖元素。對於那些使用VisualTreeHelper的案例是解決方案。你可以在我的博客和helper extension methods中找到它的summary

我建議使用SilverlightSpy來查看VisualTree是如何在運行時組成的,並且能夠更高效地導航它。