У меня есть базовый c класс с веб-браузером в нем:
<Window x:Class="X.Y"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="X- Music Video"
WindowState="Maximized"
WindowStyle="None">
<WebBrowser x:Name="webBrowser1" KeyDown="Window_KeyDown" Focusable="True"/>
</Window>
Затем, когда я пытаюсь перейти к нему, он работает, открывая видео YouTube в полноэкранном режиме:
this.webBrowser1.NavigateToString(<html with youtube embedded>);
this.webBrowser1.Focus();
Пример html:
<html> <head> <meta http-equiv="X-UA-Compatible" content="IE=Edge"/> <style type="text/css">body, html{margin: 0; padding: 0; height: 100%; overflow: hidden;}#content{position: absolute; left: 0; right: 0; bottom: 0; top: 0px;}</style> </head> <body> <div id="content"> <iframe width="100%" height="100%" src="https://www.youtube.com/embed/QDfKzB2T0i4?autoplay=1&start=3" </iframe> </div> </body></html>
Проблема вступает в игру, когда полноэкранный режим теперь не «сфокусирован». .Focus()
включает фокусировку клавиатуры, но не complete активация. В итоге происходит серая рамка в верхней и левой частях экрана. При нажатии удаляет его и дает мне полный фокус, хотя. серая рамка.
Что я могу сделать, чтобы улучшить это? Весь проект находится на github, и вы можете загрузить .exe
, чтобы запустить его из релизов. Для работы требуется учетная запись Spotify, так что, надеюсь, это достаточно воспроизводимо.