2013-01-06 38 views
0

我試圖完成的事情:如果用戶滾動GridView,後臺會以較慢的速度滾動。在GridView中命名ScrollViewer

我知道我可以做到這一點,與變換。

但我的問題是,我如何指定的GridView的名稱?所以我可以綁定到ScrollViewer的屬性。

我的GridView的代碼非常簡單:

 <GridView 
     x:Name="itemGridView" 
     AutomationProperties.AutomationId="ItemGridView" 
     AutomationProperties.Name="Grouped Items" 
     Grid.RowSpan="2" 
     Padding="116,137,40,46" 
     ItemsSource="{Binding Source={StaticResource groupedItemsViewSource}}" 
     ItemTemplateSelector="{StaticResource HomeViewDataTemplateSelector}" 
     SelectionMode="None" 
     IsSwipeEnabled="false"> 
     <GridView.Background> 
      <ImageBrush ImageSource="ms-appx:///Assets/galleryArticleSwish.png" Stretch="None"/> 
     </GridView.Background> 
     <GridView.ItemsPanel> 
      <ItemsPanelTemplate>       
       <VirtualizingStackPanel Orientation="Horizontal"> 
        </VirtualizingStackPanel> 
      </ItemsPanelTemplate> 
     </GridView.ItemsPanel> 
     <GridView.GroupStyle> 
      <GroupStyle> 
       <GroupStyle.HeaderTemplate> 
        <DataTemplate> 
         <Grid Margin="1,0,0,6"> 
          <Button 
           AutomationProperties.Name="Group Title" 
           Style="{StaticResource TextPrimaryButtonStyle}"> 
           <StackPanel Orientation="Horizontal"> 
            <TextBlock Text="{Binding GroupTitle}" Margin="3,-7,10,10" Style="{StaticResource GroupHeaderTextStyle}" /> 
            <TextBlock Text="{StaticResource ChevronGlyph}" FontFamily="Segoe UI Symbol" Margin="0,-7,0,10" Style="{StaticResource GroupHeaderTextStyle}"/> 
           </StackPanel> 
          </Button> 
         </Grid> 
        </DataTemplate> 
       </GroupStyle.HeaderTemplate> 
       <GroupStyle.Panel> 
        <ItemsPanelTemplate> 
         <VariableSizedWrapGrid Orientation="Vertical" Margin="0,0,80,0"/> 
        </ItemsPanelTemplate> 
       </GroupStyle.Panel> 
      </GroupStyle> 
     </GridView.GroupStyle> 
    </GridView> 

我想在XAML命名它,我知道我能得到ScrollViewer,通過視覺樹和我的ViewModel添加一些屬性。但這不是一個乾淨的解決方案。

那麼如何設置ScrollViewer的名稱?

回答

0

你不能也不應該。即使您提取了GridView控件模板並獲得了定義ScrollViewer的XAML - 它很可能是不同名稱範圍的一部分,我甚至不確定是否可以綁定到它的偏移屬性。最簡單的選擇可能是通過視覺樹找到ScrollViewer,並通過滾動你的背景來處理ViewChanged事件。通過更新ImageBrush的AlignmentX屬性。