uwp - DataGrid XAML 控件无法通过触摸滚动
问题描述
我正在开发一个 uwp 应用程序。该应用程序有一个 DataGrid XAML 控件。
我的问题是我可以通过鼠标滚动它,但我不能通过触摸滚动它。奇怪的是,我可以通过两根手指触摸来滚动它。
请让我知道如何解决问题。
这是我的代码。
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" Loaded="ContentGrid_Loaded">
<SplitView x:Name="spritView"
IsPaneOpen="{Binding ElementName=HamburgerButton,Path=IsChecked, Mode=TwoWay}"
DisplayMode= "CompactInline"
PaneBackground="LightGray"
PanePlacement="Left"
CompactPaneLength ="0"
OpenPaneLength="200"
Margin="0,48,0,0"
>
<SplitView.Pane>
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<ScrollViewer>
<StackPanel Orientation="Horizontal" VerticalAlignment="Top">
<Button x:Name="BtExit" Click="BtExit_Click">
<Image Source="/pictuer/left_arrow.png" Height="32"/>
</Button>
<TextBlock Text="Category" Width="140" Style="{StaticResource TextBlockFontSize1}"/>
</StackPanel>
</ScrollViewer>
</Grid>
</SplitView.Pane>
<ScrollViewer ZoomMode="Enabled"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollMode="Auto"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollMode="Auto"
>
<StackPanel Background="Snow" >
<controls: x:Name="dataGrid" AutoGenerateColumns="False"
GridLinesVisibility="All" AlternatingRowBackground="LightCyan"
ItemsSource="{Binding DefuctLists}">
<controls:DataGrid.Columns>
<controls:DataGridTextColumn Header="Category" Binding="{Binding Item_Lb}" IsReadOnly="True" />
</controls:DataGrid.Columns>
</controls:DataGrid>
<Border Style="{StaticResource borderLineLightGray}" Margin="0,8,0,0"/>
</StackPanel>
</ScrollViewer>
</SplitView>
</Grid>
解决方案
DataGrid XAML 控件无法通过触摸滚动
为了检查您的代码,我有点困惑,为什么要插入DataGrid
,ScrollViewer
以及为什么要设置DataGrid
父面板,因为StackPanel
这会使实际高度DataGrid
变大而不是内容的高度,并且DataGrid
无法滚动。
如果我们删除ScrollViewer
并替换StackPanel
为Grid
,DataGrid
将响应触摸滚动。
<SplitView.Content>
<Grid>
<controls:DataGrid
x:Name="dataGrid"
AlternatingRowBackground="LightCyan"
AutoGenerateColumns="False"
GridLinesVisibility="All"
>
<controls:DataGrid.Columns>
<controls:DataGridTextColumn
Binding="{Binding}"
Header="Category"
IsReadOnly="True"
/>
</controls:DataGrid.Columns>
</controls:DataGrid>
</Grid>
</SplitView.Content>
推荐阅读
- android - 如何从奥利奥版本降级到棉花糖?
- sql - 如何从空行插入 SQL?
- shell - 有没有办法从命令提示符中杀死 STS(Sprint Tool Suite)?
- xpath - Xpath:根据兄弟元素中的最大值读取一个值
- windows - Git - 慢取 - 凭证管理器主机提供程序
- google-data-studio - 将谷歌大查询连接到数据工作室
- php - WooCommerce 使用图标自定义产品可用性文本
- python - 检查 JSON 字符串是否是有效的 Pydantic 模式
- ansible - Do While 连接循环
- python - 查找熊猫索引数据帧的最小值和最大值