我是SilverLight的新手,我试图通过Matthew MacDonald的“Pro Silverlight 5 in C#”中复制一个简单的例子。
我正在使用VS2012创建Silverlight 5应用程序。
当我运行 SilverlightApplication1TestPage.html - 时,它可以在IE10中运行,但在FF和Chrome中我得到一个空白页。 SilverLight插件在这些浏览器中加载,但没有显示任何内容。
请告诉我为何会发生这种情况。
MainPage.xaml 代码如下。
<UserControl x:Class="SilverlightApplication1.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">
<Grid x:Name="LayoutRoot" Background="White">
<StackPanel>
<TextBlock x:Name="lblMessage" Text="Hello World!" Margin="5"></TextBlock>
<Button x:Name="cmdClickMe" Content="Click Me!" Margin="5" Click="cmdClickMe_Click" />
</StackPanel>
</Grid>
MainPage.xaml.cs 包含以下处理程序。
private void cmdClickMe_Click(object sender, RoutedEventArgs e)
{
lblMessage.Text = "Goodbye, cruel world.";
}
html页面如下(正文部分)。
<body>
<form id="form1" runat="server" style="height:100%">
<div id="silverlightControlHost">
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="SilverlightApplication1.xap"/>
<param name="onError" value="onSilverlightError" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="5.0.61118.0" />
<param name="autoUpgrade" value="true" />
<a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=5.0.61118.0" style="text-decoration:none">
<img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/>
</a>
</object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
</form>
答案 0 :(得分:1)
问题是Silverlight项目目录位于&#34; C:\ Users \&lt; USER&gt; \ Documents \ Visual Studio 2012 \ Projects&#34;,其中&lt; USER&gt;不是用英文写的。
我将.html和.xap文件移动到C:\,并且投影在所有浏览器中都能正常工作。