это должно быть просто ... может ли кто-нибудь предоставить мне простой образец кода, на котором есть страница 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>





Хм, звучит немного странно, быстрый Google дал мне этот лучший результат, в котором говорится об использовании 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, не соответствует размеру, установленному в плагине на странице aspx. В этом случае ваша кнопка может быть там, но не в видимой области ... Попробуйте проверить размер вещей, убедитесь, что они совпадают.
Вы могли бы быстро проверить цвет фона вашего корневого элемента в XAML и посмотреть, не произойдет ли что-нибудь на странице.
Кроме того, работает ли silverlight, если вы удалите Iframe, но оставите все остальное как есть?
Извините, если это слишком простое предложение, но без знания вашего опыта работы с XAML ...
Как ни странно, я просто решил эту проблему, указав размеры iframe в пикселях.
Это именно тот код, который я пробовал, но кнопка все еще не отображается. Все, что я вижу, - это пустое пространство (хотя это хост silverlight), а затем iframe внизу ... никаких элементов управления silverlight. Странный.