Запустите Flash в WPF - PullRequest
       0

Запустите Flash в WPF

6 голосов
/ 30 сентября 2011

Я пытаюсь запустить файл .swf в своем приложении WPF, я создал страницу html, и в этом я ссылался на мой файл .swf, используя тег object, а затем загружал эту страницу htmlв моем Main Window

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

если я запускаю флэш-фильм в браузере напрямую, он работает очень хорошо.

С уважением.

Ответы [ 2 ]

4 голосов
/ 03 октября 2011
  1. У меня есть флэш-часы в виде файла .swf на моем C: \ Test \ MyClock.swf

  2. У меня есть htm-файл в C: \ Test \ 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. При запуске приложения управление веб-браузером выдает предупреждение: "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.

1 голос
/ 13 мая 2014

Элемент управления WebBrowser может поддерживать флэш-память напрямую. Если вам не нужно ничего представлять в HTML, вы можете напрямую указать путь к файлу флэш-памяти.

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

Однако вы все равно получите предупреждение IE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...