我的游戏有个奇怪的问题。当您获得高分时,我们会启用 Xaml 文本框,以便您可以点击它并调用屏幕键盘。但最近这有点坏了。我在我的 .xaml 中创建了一个文本框,并打开了 visibility.collapsed 并将其命名为 txtTest。当我加载我的游戏时,我将一个事件处理程序连接到它上面
txtTest.PointerPressed += txtTest_PointerPressed;
txtTest.AddHandler(PointerPressedEvent, new Windows.UI.Xaml.Input.PointerEventHandler(txtTest_PointerPressed), true);
当我进入高分屏幕时,会触发一个事件,使文本框可见但不透明度为 0 并设置位置和大小。
Thickness margin = txtTest.Margin;
margin.Left = 1350 * _game.scale.X;
margin.Top = 770 * _game.scale.Y;
margin.Bottom = 240 * _game.scale.Y;
margin.Right = 200 * _game.scale.X;
txtTest.Margin = margin;
txtTest.Width = 300 * _game.scale.X;
txtTest.Height = 70 * _game.scale.Y;
txtTest.MaxLength = 10;
txtTest.Text = string.Empty;
txtTest.Visibility = Visibility.Visible;
txtTest.Opacity = 0;
当我们第一次运行它时,一切都很好,但最近它停止了工作。问题是文本框被创建并且所有值都被设置但它只是没有显示。文本框有一个位置和 Visibility.Visible 所以它应该只是绘制但它没有。
这目前仅在 Surface Pro 或 Acer W500 等原生触控设备上发生。在 RT 设备上运行或在桌面上运行时,它工作得很好,我们可以用鼠标点击它,但是在运行 Touch Enabled 设备时,甚至 Handlers 都不会触发,感觉就像文本框不存在一样。即使我将焦点设置在它上面,也没有任何反应。
有人有任何线索吗?