【问题标题】:PointerWheelChanged Event UWPPointerWheelChanged 事件 UWP
【发布时间】:2018-03-21 09:19:52
【问题描述】:

我有一个启用 VerticalScroll 的 GridView。在 MainPage.xaml.cs 中我截获了 ScrollView 的 PointerWheelChanged 事件。

在这个PointerWheelChanged事件中,你能知道滚轮是向上还是向下滚动吗?

代码。

MainPage.xaml:

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <TextBlock x:Name="txbNumber" HorizontalAlignment="Center" Margin="0,-230,0,0" TextWrapping="Wrap" VerticalAlignment="Center"/>
    <GridView x:Name="TestGrid" HorizontalAlignment="Center" Height="200" Margin="0" VerticalAlignment="Center" Width="200" Background="#FF44AF0D">
        <GridViewItem Content="item"/>
        <GridViewItem Content="item"/>
        <GridViewItem Content="item"/>
        <GridViewItem Content="item"/>
        <GridViewItem Content="item"/>
        <GridViewItem Content="item"/>
        <GridViewItem Content="item"/>
        <GridViewItem Content="item"/>
        <GridViewItem Content="item"/>
        <GridViewItem Content="item"/>
        <GridViewItem Content="item"/>
        <GridViewItem Content="item"/>
        <GridViewItem Content="item"/>
        <GridViewItem Content="item"/>
        <GridViewItem Content="item"/>
        <GridViewItem Content="item"/>
        <GridViewItem Content="item"/>
        <GridViewItem Content="item"/>
        <GridViewItem Content="item"/>
        <GridViewItem Content="item"/>
        <GridViewItem Content="item"/>
        <GridViewItem Content="item"/>
    </GridView>
</Grid>

MainPage.xaml.cs:

public sealed partial class MainPage : Page
{
    public MainPage()
    {
        this.InitializeComponent();
        TestGrid.AddHandler(UIElement.PointerWheelChangedEvent, new PointerEventHandler(OnPointerWheelChanged), true);
    }
    int number = 0;
    private void OnPointerWheelChanged(object sender, PointerRoutedEventArgs e)
    {
        txbNumber.Text = number.ToString();
        number += 1;
    }
}

提前谢谢你。

【问题讨论】:

    标签: c# uwp


    【解决方案1】:

    检查PointerRoutedEventArgsMouseWheelDelta 属性如下:

    private void WindowsPage_PointerWheelChanged(object sender, PointerRoutedEventArgs e)
    {
      var delta = e.GetCurrentPoint((UIElement)sender).Properties.MouseWheelDelta;
    }
    

    它的值(int)表示轮子移动的方向。

    来自文档:

    正值表示滚轮向前旋转(远离用户)或向右倾斜;负值表示滚轮向后旋转(朝向用户)或倾斜到

    【讨论】:

    • 修复了链接。
    • 如何在触摸板上区分捏缩放和滑动平移?即使在当前点上运行 GestureRecognizer.ProcessMouseWheelEvent 也不会给 Scale 只有 X/Y。
    猜你喜欢
    • 2016-01-13
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    • 2017-04-23
    • 2015-11-14
    • 1970-01-01
    • 1970-01-01
    • 2018-04-18
    相关资源
    最近更新 更多