【问题标题】:Silverlight app and an iframe co-existing on the same pageSilverlight 应用程序和 iframe 在同一页面上共存
【发布时间】:2008-09-18 14:31:12
【问题描述】:

这应该很简单...有人可以提供一个简单的代码示例,其中包含一个 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>

【问题讨论】:

    标签: silverlight iframe


    【解决方案1】:

    嗯,听起来有点奇怪,一个快速的谷歌给了我this top result,它谈到在同一页面上使用 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。

    您在尝试时使用了什么代码,但它不起作用?

    【讨论】:

    • 这正是我尝试过的代码,但我仍然没有看到显示的按钮。我所看到的只是空白空间(尽管它是 silverlight 主机),然后是底部的 iframe……没有 silverlight 控件。很奇怪。
    【解决方案2】:

    您的 XAML 是什么样的?

    它可能与 XAML 中用户控件上设置的大小一致,与 aspx 页面上插件上设置的大小不匹配。在这种情况下,您的按钮可能存在但不在可视区域中...尝试检查事物的大小,确保它们匹配。

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

    此外,如果您移除 iframe 但保留其他所有内容,silverlight 是否有效?

    抱歉,如果这是一个过于简单的建议,但不知道您的 XAML 经验水平...

    【讨论】:

      【解决方案3】:

      很有趣,我刚刚通过确保按像素指定 iframe 尺寸解决了这个问题。

      【讨论】:

        猜你喜欢
        • 2017-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多