gpt4 book ai didi

c# - 在全屏模式下运行的 UWP C# 应用程序在全屏观看视频后切换到窗口模式

转载 作者:行者123 更新时间:2023-11-30 20:28:02 24 4
gpt4 key购买 nike

我有一个在触摸屏自助服务终端上以全屏模式运行的应用程序。有一个 MediaPlayerElement 可以在我的主页上循环播放来自 Youtube 的视频。

我希望用户能够切换到全屏播放视频,然后返回主页面。如果我启用 TransportControls,全屏视频播放效果很好,但当退出全屏时,整个应用程序会切换到窗口模式。

有什么方法可以改变这种行为而无需订阅页面的 SizeChanged 事件,然后在我检测到窗口模式时切换回全屏?

最佳答案

您正在寻找监听 MediaPlayerElement.IsFullWindowProperty 更改的 DependencyObject.RegisterPropertyChangedCallback 方法。

long token;

protected override void OnNavigatedTo(NavigationEventArgs e)
{
token = mediaPlayer.RegisterPropertyChangedCallback(MediaPlayerElement.IsFullWindowProperty, OnMediaPlayerFullWindowChanged);
base.OnNavigatedTo(e);
}

protected override void OnNavigatedFrom(NavigationEventArgs e)
{
mediaPlayer.UnregisterPropertyChangedCallback(MediaPlayerElement.IsFullWindowProperty, token);
}

然后你想实现回调方法,负责切换回全屏。

private void OnMediaPlayerFullWindowChanged(DependencyObject sender, DependencyProperty dp)
{
MediaPlayerElement mpe = (MediaPlayerElement)sender;

if (mpe != null && dp == MediaPlayerElement.IsFullWindowProperty && !mpe.IsFullWindow)
{
ApplicationView.GetForCurrentView().TryEnterFullScreenMode();
}
}

相关资源:

MediaPlayerElement Class example implementing RegisterPropertyChangedCallback

UWP Windows 10 App, Windows startup size and full screen

关于c# - 在全屏模式下运行的 UWP C# 应用程序在全屏观看视频后切换到窗口模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47916069/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com