Windows runtime 在GridView中命名ScrollViewer

Windows runtime 在GridView中命名ScrollViewer,windows-runtime,winrt-xaml,Windows Runtime,Winrt Xaml,我试图实现的目标是:如果用户在网格视图中滚动,则背景滚动的速度较慢 我知道我可以通过变换来做到这一点 但我的问题是,如何为GridView的ScrollViewer指定一个名称?这样我就可以绑定到ScrollViewer的属性 我的GridView代码非常简单: <GridView x:Name="itemGridView" AutomationProperties.AutomationId="ItemGridView" Au

我试图实现的目标是:如果用户在
网格视图中滚动,则背景滚动的速度较慢

我知道我可以通过变换来做到这一点

但我的问题是,如何为
GridView
ScrollViewer
指定一个名称?这样我就可以绑定到
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的名称呢?

您不能也不应该这样做。即使您提取了GridView控件模板并获得了定义ScrollViewer的XAML,它很可能是另一个名称范围的一部分,我甚至不确定您是否可以绑定到它的偏移量属性。最简单的选择可能是通过可视化树找到ScrollViewer,并通过滚动背景(例如,通过更新ImageBrush的AlignmentX属性)来处理ViewChanged事件