Silverlight应用程序和iframe在同一页面上共存

时间:2020-03-06 14:21:36  来源:igfitidea点击:

这应该很简单...可以有人为我提供一个简单的代码示例,该示例具有一个aspx页面,该页面同时托管silverlight应用程序(由一个按钮组成)和一个iframe(指向诸如stackoverflow.com)。 Silverlight应用程序和iframe可以位于单独的div中,也可以位于同一个div中。

到目前为止,我尝试过的所有操作都留下了一个页面,该页面上没有呈现Silverlight控件。

谢谢 :)

编辑:在对我的xaml外观的要求下(另外,我应该指出,如果我注释掉iframe,我的控件就可以正常显示。)

<UserControl x:Class="SilverlightApplication1.Page"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">   

    <Grid x:Name="LayoutRoot" Background="Pink">
        <Button Content="Click Me!"/>
    </Grid>
</UserControl>

而已。只是为了很好的措施,这是我的aspx页面...

<form id="form1" runat="server">

         <asp:ScriptManager ID="ScriptManager1" runat="server"/>
        <div  style="height:100%;">            
            <asp:Silverlight ID="Silverlight1" runat="server" Source="~/ClientBin/SilverlightApplication1.xap"    MinimumVersion="2.0.30523" Width="400" Height="400" />        
        </div>        

        <iframe src ="http://www.google.com" width="400"/>

    </form>

解决方案

嗯,听起来有点奇怪,一个快速的谷歌给了我这个最高的结果,它谈论在同一页面上使用iframe和Silverlight,没有问题。

也可以使用以下代码进行快速测试:

<%@ Page Language="C#" AutoEventWireup="true" %>

<%@ Register Assembly="System.Web.Silverlight" Namespace="System.Web.UI.SilverlightControls"
    TagPrefix="asp" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" style="height:100%;">
<head runat="server">
    <title>Test Page</title>
</head>
<body style="height:100%;margin:0;">
    <form id="form1" runat="server" style="height:100%;">
        <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
        <div  style="height:100%;">
            <asp:Silverlight ID="Xaml1" runat="server" Source="~/ClientBin/Test.xap" MinimumVersion="2.0.30523" Width="400" Height="400" />
        </div>
        <iframe src ="http://www.google.com" width="400"></iframe>
    </form>
</body>
</html>

非常愉快地渲染Silverlight和Iframe。

我们在尝试时使用什么代码,但没有用?

XAML是什么样的?

这可能与XAML中usercontrol上设置的大小相似,与aspx页上的插件上设置的大小不匹配。在这种情况下,按钮可能在那里,但不在可见区域中。尝试检查事物的大小,确保它们匹配。

我们可以做的一项快速测试是更改XAML中根元素的背景颜色,并查看页面上是否发生了任何事情。

另外,如果我们删除iframe但其他所有内容都保持原样,silverlight是否可以正常工作?

抱歉,这是一个太简单的建议,但是我们不知道XAML经验水平...

有趣的是,我只是通过确保按像素指定iframe尺寸来解决此问题。