2011-09-30 14 views
6

sto provando ad eseguire un file .swf nella mia applicazione WPF, ho creato una pagina html e che ho riferito il mio file .swf utilizzando object tag e poi caricando che html pagina nel mio Main WindowRun Flash in WPF

mia XAML sembra

<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> 

assegnando la fonte

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); 
     } 
    } 

Il problema:

quando ho eseguito l'applicazione l'avviso si verifica che ActiveX contenuti sta tentando di accedere etc etc e quando ho permetto nulla appare nella mia finestra principale l'avviso continua a si verificano più volte.

se eseguo direttamente il filmato flash nel browser, funziona correttamente.

Saluti.

+0

Sei su macchina x86 o x64? – spender

+0

sto usando la macchina x86 –

+0

Non è poi così ... – spender

risposta

4
  1. Ho un orologio basato su flash come un file .swf sul mio C: \ Test \ MyClock.swf

  2. Ho un file htm in C: \ Test \ HTML.htm

    <embed src=C:\Test\MyClock.swf 
         width=200 height=200 
         wmode=transparent type=application/x-shockwave-flash> 
        </embed> 
    
  3. ho il controllo del browser web, come di seguito ...

    <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. Sul esecuzione l'applicazione, vedo il w Controllo ebbrowser dando avviso come "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. io accetto l'avviso tasto destro del mouse e il click sinistro "Consenti contenuto bloccato". Appare un popup di conferma a cui dico Yes.

  6. Vedo l'orologio basato su Flash.

+0

grazie mille che ha funzionato lo stavo facendo con '' cambiandolo in 'embed' risolto il problema –

+0

Contento di aver potuto aiutare. Questo suggerisce un altro punto che dobbiamo postare il maggior numero possibile di codice sorgente con la nostra domanda. :-) –

0

Il controllo WebBrowser può supportare il flash direttamente. Se non è necessario presentare nulla in HTML, è possibile fornire direttamente il percorso del file flash.

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

Tuttavia, verrà comunque visualizzato il messaggio di avviso IE.