2012-04-02 2 views
4

Я не нашел ответа на этот вопрос, а не здесь, или когда у меня есть поисковая система.Silverlight - первый раз, когда открывается полноэкранный режим в фоновом режиме (FF, Chrome, а не IE)

Дело в том, что у нас есть серебряный свет с видеопотоком. Если мы включили полноэкранный режим с кодом: Application.Current.Host.Content.IsFullScreen первый раз, когда приложение будет показано в полноэкранном режиме, оно открывается в фоновом режиме (и для клиента кажется, что ничего не происходит).

Кажется, он запомнит его в следующий раз.

Альтернатива для нас состоит в том, чтобы не включать ее, чтобы отключить ее, так что, когда окно теряет фокус, оно выводится из полноэкранного режима.

Есть ли способ обойти это, так как мы оба хотели бы открыть его в полноэкранном режиме в верхней части экрана (не скрывать) и иметь возможность закрепить его там. (Так как многие из наших пользователей хотели бы иметь его на другом мониторе и одновременно использовать компьютер)

Я думал о его хранении в хранилище приложений, так как кажется, что он запоминает первый раз, когда пользователь перемещает его спереди. Но не знаю, как это можно сделать, а также кажется немного хаки.

В IE это работает, но, конечно, это недостаточно.

+1

Почему бы не работать как приложение, отличное от браузера? Работает как прелесть для меня. Убедитесь, что вы проверяете «Требовать повышенное доверие» при запуске за пределами браузера. – Dudemeister

+0

Попробует попробовать. Одна из причин, почему я могу придумать, это то, что эта функция - единственное, что мне нужно для ее работы, поэтому добавляя больше, чем нужно. Не уверен точно, какая разница для пользователя с использованием вне браузера. Если это почти то же самое, то я думаю, что это будет веским аргументом в пользу его решения, но все же хотел бы исправить проблему, а не избегать ее. – Nitro

+0

@ Dudemeister почему повышенное доверие? Это не должно требоваться для этого сценария. – jv42

ответ

2

Чтобы приложение остаться на весь экран, даже если не сосредоточены, вы должны добавить следующие строки в заявке:

Host.Content.FullScreenOptions = System.Windows.Interop.FullScreenOptions.StaysFullScreenWhenUnfocused; 

Это будет генерировать запрос на разрешение при переключении в полноэкранный режим, аналогичный IsolatedStorage подсказки квот.

Для приложения, отображаемого в фоновом режиме, я испытал это только с помощью Safari в MacOS, у меня никогда не было этой проблемы в Windows IE, FF или Chrome. Может быть, линия выше поможет.

+0

Это решает первую часть его сосредоточения. Но, к несчастью, это вторая часть, которая больше всего беспокоит меня. И именно поэтому мы должны выбирать между потерями фокуса (который является второстепенной группой), а также теми, у которых полноэкранный режим переходит в фоновый режим. Проблема возникает как в FF, Chrome, Safari на MacOS. Я думаю, решение для моей части было бы включать кнопку переключения, которая позволяет пользователям решать. – Nitro

+0

Возможно, я неправильно понял структуру вашего приложения. У вас есть одно окно с вашим контентом, включая видео, или у вас есть ChildWindow или что-то в этом роде? – jv42

+0

У меня есть одно окно Silverlight с только игроком на базе SMF. У меня также возникла такая же проблема с другим потоковым решением. С проблемой появления окна в фоновом режиме. (Что в нашем случае приведет к запуску большего числа пользователей, чем к тому, чтобы иметь его таким образом) Попробует загрузить версию, чтобы ее можно было увидеть в действии. – Nitro

Смежные вопросы