2011-09-30 66 views
6

我試圖運行一個.swf文件在我的WPF應用程序,我創建了一個html頁面,在我一直在使用object標籤,然後加載一個html網頁在我的Main Window運行Flash在WPF

引用我 .swf文件

我的XAML看起來像

<Window x:Class="sirajflash.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525"> 
    <Grid> 
     <WebBrowser Name="myBrowser"></WebBrowser> 
     <!--<Frame Name="myframe"/>--> //tried with frame also but no luck 
    </Grid> 
</Window> 

分配源

public partial class MainWindow : Window 
    { 
     public MainWindow() 
     { 
      InitializeComponent(); 

      myBrowser.Source = new Uri(CreateAbsolutePathTo("playflash.htm"), UriKind.Absolute); 
     } 
     private static string CreateAbsolutePathTo(string mediaFile) 
     { 
      return System.IO.Path.Combine(new FileInfo(Assembly.GetExecutingAssembly().Location).DirectoryName, mediaFile); 
     } 
    } 

問題:

當我運行出現警告ActiveX內容試圖訪問等等等等,當我允許它沒有出現在警告保持上發生的多次我的主窗口的應用程序。

如果我直接在瀏覽器中運行flash電影,它運行得很好。

問候。

+0

您是在x86還是x64機器上? – spender

+0

我使用x86機器 –

+0

這不是那麼... – spender

回答

4
  1. 我有一個基於Flash時鐘作爲我的C .swf文件:\測試\ MyClock.swf

  2. 我位於C有一個htm文件:\測試\ MyHtml.htm

    <embed src=C:\Test\MyClock.swf 
         width=200 height=200 
         wmode=transparent type=application/x-shockwave-flash> 
        </embed> 
    
  3. 我有如下的網頁瀏覽器控制...

    <Window x:Class="MyFlashApp.MainWindow" 
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        Title="MainWindow" Height="350" Width="525"> 
        <Grid> 
        <WebBrowser Source="C:\Test\MyHtml.htm"></WebBrowser> 
        </Grid> 
    </Window>   
    
  4. 在運行的應用程序,我看到在W ebbrowser控制給出警告爲"To help protect your security, Internet Explorer has restricted this file from showing active content that could access your computer. Click here for options."

  5. 我接受警告右鍵單擊並左鍵單擊「允許阻止的內容」。出現確認彈出窗口,我說Yes

  6. 我看到基於Flash的時鐘。

+0

非常感謝,我正在用''將其更改爲'嵌入'解決了問題 –

+0

很高興我可以提供幫助。這表明我們必須在我們的問題中發佈儘可能多的相關源代碼。 :-) –

0

WebBrowser控件可以直接支持flash。如果您不需要在HTML中呈現任何內容,則可以直接提供Flash文件的路徑。

myWebBrowser.Source = "C:\Test\MyClock.swf" 

但是,您仍然會收到IE警告消息。