PointerWheelChanged 的​​奇怪问题

Weird issues with PointerWheelChanged

我有一个带网格的简单页面。网格包含一个 TextBlock。我在页面上添加了 PointerWheelChanged 的​​处理程序。

出于某种原因,仅当鼠标指针位于 TextBlock 内而不是其他任何位置时才调用该事件。

我尝试将事件添加到网格中。

我的代码:

<Page
    x:Class="App.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:App"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
    PointerWheelChanged="Page_PointerWheelChanged">

    <Grid>
        <TextBlock HorizontalAlignment="Center" Text="TextBlock" TextWrapping="Wrap" VerticalAlignment="Center" Height="980" Width="1480" x:Name="test" FontSize="72"/>
    </Grid>
</Page>
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Input;

namespace App {
    /// <summary>
    /// An empty page that can be used on its own or navigated to within a Frame.
    /// </summary>
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
        }

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

我最初是在一个更复杂的应用程序中发现它的。这是一个简单的应用程序,我试图在其中重现此行为。

不给Element设置背景和给Element设置Background="Transparent"是不一样的。后者使控件具有交互性。你可以尝试给网格一个透明的背景,让网格响应鼠标事件。

像这样:

  <Grid Background="Transparent" >
    <TextBlock HorizontalAlignment="Center" Text="TextBlock" TextWrapping="Wrap" VerticalAlignment="Center" Height="200" Width="200" x:Name="test" FontSize="72"/>
</Grid>

出于测试目的,我稍微更改了文本块的大小。