我想在silverlight5页面播放.swf。我正在使用ListBox控件或Image Control 或任何想在Silvarlight中播放swf文件的想法
<Image Grid.Row="0" Name="bottom_video" Height="80" Source="{Binding VodeoUrl,Mode=OneWay}" Margin="0,20,0,0" />
答案 0 :(得分:2)
您可能可以在每台Windows机器上使用随Flash播放器本身自动安装的Flash ActiveX控件,但如果它有效,它仍会带来很多限制,如here所述另一个问题将会出现是"Airspace" problem。
另一种方法是使用this将SWF转换为XAML。但是我发现了很多无法转换的swf文件。特别是如果涉及很多ActionScript或动态加载内容。
答案 1 :(得分:1)
您可以在下面的代码中看到如何在Silverlight上使用Iframe:
<Grid x:Name="LayoutRoot">
<HyperlinkButton Content="HyperlinkButton" Height="23" HorizontalAlignment="Left" Margin="44,20,0,0" Name="hyperlinkButton1" VerticalAlignment="Top" Width="100" TargetName="" Click="hyperlinkButton1_Click" />
</Grid>
code behind:
private void hyperlinkButton1_Click(object sender, RoutedEventArgs e) {
HtmlDocument _document = HtmlPage.Document;
HtmlElement iframe = _document.CreateElement("IFRAME");
iframe.SetAttribute("src", "http://localhost:52878/TestForm.aspx");
iframe.SetStyleAttribute("position", "absolute");
iframe.SetStyleAttribute("top", "100px");
iframe.SetStyleAttribute("left", "200px");
HtmlElement body = (HtmlElement)_document.GetElementsByTagName("BODY")[0];
body.AppendChild(iframe);
HtmlDocument _document = HtmlPage.Document;
HtmlElement iframe = _document.CreateElement("IFRAME");
iframe.SetAttribute("src", "http://localhost:52878/TestForm.aspx");
iframe.SetStyleAttribute("position", "absolute");
iframe.SetStyleAttribute("top", "100px");
iframe.SetStyleAttribute("left", "200px");
HtmlElement body = (HtmlElement)_document.GetElementsByTagName("BODY")[0];
body.AppendChild(iframe);
}
答案 2 :(得分:1)
我已经得到了如何在Silverlight 5中播放swf文件的答案
<WebBrowser Grid.Row="1" VerticalAlignment="Top" Source="{Binding VodeoUrl,Mode=OneWay}" Height="280" Width="280"/>
答案 3 :(得分:0)
这是不可能的。 Silverlight不播放swf文件。如果它只是一个没有任何交互的视频文件,您可以将视频转换为Silverlight可以播放的内容。以下是有关支持格式的一些信息:
http://msdn.microsoft.com/en-us/library/cc189080%28v=vs.95%29.aspx