【问题标题】:UWP GridView Scrollable until clickedUWP GridView 可滚动直到被点击
【发布时间】:2017-09-06 13:27:25
【问题描述】:

我在 UWP 中创建了这个 GridView,它显示了我想要的内容,但是为了滚动它,我需要先点击它,然后再滚动。当使用触摸界面时,我需要点击一次然后滚动。而且在选择一个项目时,我需要点击/单击两次。

有什么办法可以避免这种选择然后滚动的需要吗?

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <TextBlock Text="Title" Margin="0,0,0,20" Style="{ThemeResource SubheaderTextBlockStyle}" Grid.Row="0"></TextBlock>
    <GridView x:Name="ReportsGridView" ItemsSource="{x:Bind Reports, Mode=OneWay}" Grid.Row="1" 
              ScrollViewer.VerticalScrollMode="Disabled" ScrollViewer.HorizontalScrollMode="Auto" ScrollViewer.HorizontalScrollBarVisibility="Hidden" >
        <GridView.ItemsPanel>
            <ItemsPanelTemplate>
                <ItemsWrapGrid Orientation="Vertical" />
            </ItemsPanelTemplate>
        </GridView.ItemsPanel>
        <GridView.ItemTemplate>
            <DataTemplate x:DataType="data:Report">
                ...
            </DataTemplate>
        </GridView.ItemTemplate>
    </GridView>
</Grid>

我已经尝试以编程方式设置焦点:

ReportsGridView.Focus(FocusState.Programmatic);

【问题讨论】:

  • 你为什么要操作 ScrollViewer 属性?
  • @Jessica 让它水平滚动而不显示滚动条。 (见:stackoverflow.com/questions/34476647/…
  • 如果不做任何更改,它会按预期工作吗?
  • @Jessica 是的,但我必须在 GridView 上点击一次,然后才能选择项目或滚动(使用鼠标滚轮或滑动)。

标签: gridview uwp windows-10 win-universal-app windows-10-universal


【解决方案1】:

我发现了问题。它与 GridView 本身没有任何关系。我有一个 CommandBar,其 IsOpen 属性设置为 True。

<CommandBar IsOpen="True">

因此,在能够滚动或选择之前,需要第一次点击/单击来关闭栏。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-21
    • 1970-01-01
    • 2019-09-24
    • 2011-08-07
    • 1970-01-01
    • 2020-09-22
    • 1970-01-01
    相关资源
    最近更新 更多