【发布时间】:2011-11-02 00:38:09
【问题描述】:
我在我的 asp.net 页面中嵌入了一个 silverlight mediaElement,如下所示:
<object id="SilverlightPlayer" data="data:application/x-silverlight,"
type="application/x-silverlight-2" width="753" height="468" >
<param name="source" value="ClientBin/VideoPlayer.xap"/>
<param name="EnableGPUAcceleration" value="true" />
<param name="OnResize" value="HandleResize" />
<param name="autoUpgrade" value="true" />
<param name="onLoad" value="pluginLoaded" />
<param name="windowless" value="true" />
<param name="background" value="transparent" />
<param name="initParams" id="SLInitParameters" />
</object>
我正在从 asp.net 端实现所有播放器控件并使用 javascript 桥调用 SL 方法。除了能够将silverlight播放器置于全屏模式之外,一切正常。 content.IsFullScreen = True;
我尝试过从 javascript 调用方法:
[ScriptableMember]
public void mediaFullScreen()
{
var content = Application.Current.Host.Content;
content.IsFullScreen = !content.IsFullScreen;
}
我在 Silverlight 代码中放置了一个可以正常工作的按钮。所以,我让javascript调用了上面的函数。然后,我更改了调用 SL 全屏按钮上的单击事件的代码,但是,这也不起作用:
ButtonAutomationPeer peer = new ButtonAutomationPeer((Button)this.fullScreenButton);
IInvokeProvider ip = (IInvokeProvider)peer;
ip.Invoke();
我什至在 SL 代码中连接了一个事件处理程序来处理标签上的点击事件:
HtmlDocument htmlDoc = HtmlPage.Document;
HtmlElement htmlEle = htmlDoc.GetElementById("buttonFullScreen");
htmlEle.AttachEvent("onclick", new EventHandler(this.OnConvertClicked));
无论如何我可以让 SL 从我在 asp.net 代码中的标签进入全屏模式吗? (使用 VS2010 和 SL4)
谢谢, 戴夫
【问题讨论】:
-
我发现有人遇到同样的问题,它说由于安全原因无法从 javascript 完成(请参阅 cmets):codeclimber.net.nz/archive/2008/02/06/…
标签: asp.net silverlight