WPF ScrollViewer无法使用触控功能

时间:2015-08-26 10:10:44

标签: c# wpf touch windows-8.1 .net-4.6

我在Windows 8.1平板电脑上使用触摸运行WPF应用程序。经过大量关于如何解决一些常见触摸特定问题的阅读后,我发现this tutorial确实指出了我正确的方向。
我的问题是,在实施教程后,我ScrollViewer停止工作,除非我直接从滚动条本身滚动 这就是我的ScrollViewer(我窗口中的顶部元素)的样子:

<ScrollViewer CanContentScroll="True" PanningMode="Both">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <StackPanel Grid.Row="0">
            <TextBlock HorizontalAlignment="Center"
                       FontSize="48"
                       Text="{Binding SelectedView.ViewHeader}"
                       TextAlignment="Center"
                       TextWrapping="Wrap" />
            <Separator Margin="0,25" />
        </StackPanel>
        <ContentPresenter Grid.Row="1"
                          Margin="10,0,0,30"
                          Content="{Binding SelectedView}" />
    </Grid>
</ScrollViewer>

有关如何解决问题的建议吗? 修改
我之所以选择上述方法的原因是因为它消除了我所遇到的许多控制焦点问题,例如textboxes需要2或3次触摸来获得焦点,或comboboxes在选择后保持打开状态项目:
combobox touch problem

1 个答案:

答案 0 :(得分:0)

使用此方法时DisableWPFTabletSupport。您正在禁用包含ScrollViewer触摸屏的所有平板电脑支持。请参阅此链接中的帖子以实现类似的行为(显示/隐藏Windows键盘)而不禁用平板电脑支持。

Show & hiding the Windows 8 on screen keyboard from WPF