UWP:不要在滚动查看器中缩放媒体播放器元素的媒体传输控件

时间:2020-01-02 17:29:19

标签: c# windows zoom media uwp-xaml

我想为媒体播放器元素(UWP C#)添加缩放功能。我将MediaPlayerElement放置在滚动查看器中,并且缩放功能正常工作。但是内置媒体传输的传输控件也正在缩放和滚动。我希望修复媒体传输控件。我尝试为运输控制设置边距,高度和宽度属性。但是它们似乎不起作用。如何避免缩放和滚动运输控制栏

XAML:

<?php
$dbh = new PDO('mysql:host=localhost;dbname=database_name', 'root', '');

$username = $_POST['username'];
$password = $_POST['password'];

$sql = $dbh->prepare("SELECT * FROM tabel_name");
$sql->execute();
$result = $sql->fetchAll();

foreach ($result as $r) {
  if ($username == $r['username'] && $password == $r['password']) {
    header('Location: mainPage.php');
  } else {
    header('Location: login.php');
  }
}

1 个答案:

答案 0 :(得分:0)

ScrollViewer的缩放是一种整体行为,其缩放等于您查看对象的距离。

物体看起来很远,但是物体本身的大小是恒定的。

使用ScrollViewer缩放时,将不可避免地改变整体。

因此,如果您打算手动放大MediaPlayerElement,则有两种选择:

  1. 通过PointerWheelChangedManipulationDelta事件获取用户操作的增量,并按增量更改width的{​​{1}} / height

    直接更改控件的大小时,MediaPlayerElement的图标将保持原始大小。

    关于手势,此document可能会有所帮助。


  1. 请勿显示MediaTransportControls本身的MediaTransportControls,自己重写传输控件,独立于MediaPlayerElement,并覆盖在顶部,如下所示:
ScrollViewer

通过这种方式,将<Grid> <ScrollViewer HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden" MinZoomFactor="1" ZoomMode="Enabled"> <MediaPlayerElement Stretch="Uniform" AreTransportControlsEnabled="False" /> </ScrollViewer> <MyTransportControls VerticalAlignment="Bottom" HorizontalAlignment="Stretch" /> </Grid> 放大时,只会影响ScrollViewer,而不会影响MediaPlayerElement


更新

通过与工程师沟通,我们得出了一个结论:触摸板发送TransportControls个事件而不是Pointer个事件。您可以使用Manipulation事件来处理触摸板的捏合输入。

最诚挚的问候。

相关问题