Windows phone 应用投影后 ScrollViewer 不工作
Windows phone ScrollViewer doesn't work when projection is applied
我在真正的复杂项目中发现了这个问题,但它可以通过简单的测试项目重现。所以我有测试 UWP 页面
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid
VerticalAlignment="Top"
HorizontalAlignment="Left"
Height="100">
<Grid.Projection>
<PlaneProjection GlobalOffsetY="100"/>
</Grid.Projection>
<ScrollViewer
VerticalScrollMode="Enabled"
VerticalScrollBarVisibility="Visible">
<StackPanel>
<Button Content="1"/>
<Button Content="2"/>
<Button Content="3"/>
<Button Content="4"/>
<Button Content="5"/>
<Button Content="6"/>
<Button Content="7"/>
</StackPanel>
</ScrollViewer>
</Grid>
</Grid>
它在 PC 版本中按预期工作,但滚动条在移动 (windows phone) 版本中不起作用。同样的故事 Windows Phone 8.1
如果在父网格上评论投影 - 一切正常。
有任何修复或至少解决该问题的想法吗?
it works as expected in PC version, but scroller doesn't work in mobile (windows phone) version.
根据设计,如果scrollviewer
(此处为投影变换)的全局变换不能表示为矩阵变换,则处理触控交互无法使用
所以如果你只需要申请GlobalOffsetY
或GlobalOffsetX
。我建议您改为使用 TranslateTransform。它不会阻止 ScrollViewer
滚动:
<Grid
VerticalAlignment="Top"
HorizontalAlignment="Left"
Height="500" Width="200">
<Grid.RenderTransform>
<TranslateTransform Y="100"/>
</Grid.RenderTransform>
<ScrollViewer
VerticalScrollMode="Enabled"
VerticalScrollBarVisibility="Visible">
<StackPanel>
<Button Content="1"/>
<Button Content="2"/>
<Button Content="3"/>
<Button Content="4"/>
<Button Content="5"/>
<Button Content="6"/>
<Button Content="7"/>
</StackPanel>
</ScrollViewer>
</Grid>
我在真正的复杂项目中发现了这个问题,但它可以通过简单的测试项目重现。所以我有测试 UWP 页面
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid
VerticalAlignment="Top"
HorizontalAlignment="Left"
Height="100">
<Grid.Projection>
<PlaneProjection GlobalOffsetY="100"/>
</Grid.Projection>
<ScrollViewer
VerticalScrollMode="Enabled"
VerticalScrollBarVisibility="Visible">
<StackPanel>
<Button Content="1"/>
<Button Content="2"/>
<Button Content="3"/>
<Button Content="4"/>
<Button Content="5"/>
<Button Content="6"/>
<Button Content="7"/>
</StackPanel>
</ScrollViewer>
</Grid>
</Grid>
它在 PC 版本中按预期工作,但滚动条在移动 (windows phone) 版本中不起作用。同样的故事 Windows Phone 8.1 如果在父网格上评论投影 - 一切正常。
有任何修复或至少解决该问题的想法吗?
it works as expected in PC version, but scroller doesn't work in mobile (windows phone) version.
根据设计,如果scrollviewer
(此处为投影变换)的全局变换不能表示为矩阵变换,则处理触控交互无法使用
所以如果你只需要申请GlobalOffsetY
或GlobalOffsetX
。我建议您改为使用 TranslateTransform。它不会阻止 ScrollViewer
滚动:
<Grid
VerticalAlignment="Top"
HorizontalAlignment="Left"
Height="500" Width="200">
<Grid.RenderTransform>
<TranslateTransform Y="100"/>
</Grid.RenderTransform>
<ScrollViewer
VerticalScrollMode="Enabled"
VerticalScrollBarVisibility="Visible">
<StackPanel>
<Button Content="1"/>
<Button Content="2"/>
<Button Content="3"/>
<Button Content="4"/>
<Button Content="5"/>
<Button Content="6"/>
<Button Content="7"/>
</StackPanel>
</ScrollViewer>
</Grid>