C# Silverlight-首次在后台打开全屏(FF、Chrome,而非IE)

C# Silverlight-首次在后台打开全屏(FF、Chrome,而非IE),c#,silverlight,silverlight-5.0,C#,Silverlight,Silverlight 5.0,我还没有找到答案,不是在这里,也不是在谷歌搜索的时候 情况是我们有一个带有视频流的silverlight。如果我们使用以下代码启用了全屏:Application.Current.Host.Content.IsFullScreen应用程序第一次全屏运行时,它会在后台打开(对于客户来说,似乎什么都没有发生) 看来它下次会记得的 为了我们的缘故,另一种选择是不启用它来禁用它,这样当窗口失去焦点时,它就会从全屏上消失 有没有办法解决这个问题,因为我们都希望在屏幕顶部全屏打开它(不隐藏),并且有可能将它固

我还没有找到答案,不是在这里,也不是在谷歌搜索的时候

情况是我们有一个带有视频流的silverlight。如果我们使用以下代码启用了全屏:
Application.Current.Host.Content.IsFullScreen
应用程序第一次全屏运行时,它会在后台打开(对于客户来说,似乎什么都没有发生)

看来它下次会记得的

为了我们的缘故,另一种选择是不启用它来禁用它,这样当窗口失去焦点时,它就会从全屏上消失

有没有办法解决这个问题,因为我们都希望在屏幕顶部全屏打开它(不隐藏),并且有可能将它固定在那里。(因为我们的许多用户希望在另一台显示器上同时使用电脑)

我一直在考虑将其存储在应用程序存储中,因为它似乎记得用户第一次将其移动到前面时的情景。但我不知道如何才能做到这一点,而且似乎也有点不切实际


在IE中,这是可行的,但当然这还不够好

要使您的应用程序即使在没有焦点的情况下也保持全屏,您必须向应用程序中添加以下内容:

Host.Content.FullScreenOptions = System.Windows.Interop.FullScreenOptions.StaysFullScreenWhenUnfocused;
这将在切换到全屏模式时生成权限提示,类似于IsolatedStorage配额提示


对于后台显示的应用程序,我只在MacOS上使用Safari时遇到过这种情况,在Windows IE、FF或Chrome上从未遇到过这种问题。也许上面的这一行会有所帮助。

为什么不作为浏览器外应用程序运行呢?对我来说很有魅力。请确保在浏览器外运行时选中“需要提升信任度”复选框,以便尝试。我能想到的一个原因是,这个特性是我让它工作所需要的唯一东西,所以添加了比需要更多的东西。也不确定浏览器外应用程序的用户体验到底有什么不同。如果这几乎是一样的,那么我认为这将是一个支持它的有效论据,但我仍然希望解决问题,而不是避免它。@Dudemeister为什么要提升信任?此场景不需要。在全屏运行时,键盘输入限制,而不是提升信任:@Dudemeister ah,这很有意义:)这解决了让它保持专注的第一部分。但不幸的是,这是最让我困扰的第二部分。这就是为什么我们必须在失去焦点(次要用户组)和全屏进入后台之间做出选择的原因。MacOS上的FF、Chrome和Safari都出现问题。我想我的解决方案应该包括一个切换按钮,让用户决定。也许我误解了你的应用程序的结构。你有一个包含视频内容的单一窗口,还是有一个ChildWindow或类似的窗口?我有一个silverlight窗口,只有基于SMF的播放器。我也遇到过其他流媒体解决方案的同样问题。窗口出现在背景中的问题。(在我们的例子中,这会让更多的用户感到困惑,而不是这样做的好处)将尝试上传一个版本,以便可以看到它的运行。好的,我自己对基于SMF的播放器没有类似的问题,除了MacOS+Safari。这只会在第一次发生,所以如果我清理应用程序存储(或禁用它),每次都会发生。当我有时间进一步调查的时候,我会回来的。