Поделиться через


Пошаговое руководство. Размещение элементов управления ActiveX в Windows Presentation Foundation с помощью XAML

Обновлен: Ноябрь 2007

Для улучшенного взаимодействия с веб-обозревателем можно использовать элементы управления Microsoft ActiveX в приложении WPF. В данном примере демонстрируется использование Язык XAML (Extensible Application Markup Language) для размещения Проигрыватель Windows Media как элемента управления на странице WPF.

В этом пошаговом руководстве рассматриваются следующие задачи.

  • Создание проекта.

  • Создание элемента ActiveX.

  • Размещение элементов управления ActiveX на странице Windows Presentation Foundation

Полный пример кода для задач, приведенных в этом обзоре, см. в разделе Размещение элемента управления ActiveX в Windows Presentation Foundation с помощью XAML.

По окончании ознакомления пользователь будет понимать, как использовать Язык XAML (Extensible Application Markup Language) для размещения элементов управления ActiveX в приложении WPF.

Примечание.   Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих настроек или выпуска. Чтобы изменить настройки, в меню Сервисвыберите командуИмпорт и экспорт параметров. Дополнительные сведения см. в разделе Параметры Visual Studio.

Обязательные компоненты

Для выполнения инструкций данного пошагового руководства необходимы следующие компоненты.

  • Проигрыватель Windows Media должен быть установлен на компьютере, на котором установлено приложение Visual Studio.

  • Visual Studio 2008.

Создание проекта

Чтобы создать и настроить проект

  1. Создайте проект приложения WPF с именем HostingAxInWpf.

  2. Добавьте проект библиотеки элементов управления Windows Forms в проект приложения и назовите проект WmpAxLib. Дополнительные сведения см. в разделе Диалоговое окно "Добавление нового проекта".

  3. В обозревателе решений добавьте ссылку на сборку Проигрыватель Windows Media, которая называется Wmp.dll.

  4. Откройте Панель элементов.

  5. Щелкните правой кнопкой мыши Панель элементов и выберите команду Выбрать элементы.

  6. Перейдите на вкладку COM-компоненты, выберите элемент управления Windows Media Player и затем нажмите ОК, чтобы подтвердить выбор.

    Элемент управления Проигрыватель Windows Media добавляется в Панель элементов.

  7. В обозревателе решений щелкните правой кнопкой мыши файл UserControl1, а затем нажмите Переименовать.

  8. Измените имя на WmpAxControl.cs или WmpAxControl.vb, в зависимости от языка.

  9. Если появится запрос на переименование всех ссылок, то нажмите кнопку Да.

Создание элемента ActiveX.

Microsoft Visual Studio автоматически создает класс-оболочку AxHost для элемента управления Microsoft ActiveX, когда элемент управления добавляется в рабочую область конструирования. Следующая процедура создает управляемую сборку с именем AxInterop.WMPLib.dll.

Чтобы создать элемент управления ActiveX

  1. В конструкторе Windows Forms откройте WmpAxControl.

  2. Из Панели элементов добавьте элемент управления Проигрыватель Windows Media в рабочую область конструирования.

  3. В окне «Свойства» задайте для свойства Dock элемента управления Проигрыватель Windows Media значение Fill.

  4. Нажмите клавишу F6, чтобы построить библиотеку элементов управления.

Размещение элементов управления ActiveX на странице Windows Presentation Foundation

Чтобы разместить элемент управления ActiveX

  1. В проекте HostingAxInWpf добавьте ссылку на созданную сборку взаимодействия ActiveX.

    Эта сборка имеет имя AxInterop.WMPLib.dll и была добавлена в директорию отладки проекта WmpAxLib при импорте элемента управления Проигрыватель Windows Media.

  2. Добавьте ссылку на сборку WindowsFormsIntegration, которая называется WindowsFormsIntegration.dll.

  3. Добавьте ссылку на сборку Windows Forms, которая называется System.Windows.Forms.dll.

  4. Замените код в Window1.xaml на следующий код.

    Сопоставление пространства имен ax устанавливает ссылку на сборку AxInterop.WMPLib, которая содержит элемент управления AxWindowsMediaPlayer. Класс AxWindowsMediaPlayer создается в качестве дочернего элемента управления WindowsFormsHost.

    <Window x:Class="HostingAxInWpfWithXaml.Window1"
        xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms" 
        xmlns:ax="clr-namespace:AxWMPLib;assembly=AxInterop.WMPLib" 
        Title="HostingAxInWpfWithXaml"
          Loaded="WindowLoaded"
        >
    
      <Grid Name="grid1">
    
        <WindowsFormsHost Name="wfh">
          <ax:AxWindowsMediaPlayer x:Name="axWmp"/>
        </WindowsFormsHost>
    
      </Grid>
    
    </Window>
    
  5. Откройте файл Window1.xaml.cs и удалите комментарий определения метода WindowLoaded.

  6. Вставьте следующий код для обработки события Loaded.

    private void WindowLoaded(object sender, RoutedEventArgs e)
    {   
        // Get the AxHost wrapper from the WindowsFormsHost control.
        AxWMPLib.AxWindowsMediaPlayer axWmp =
            wfh.Child as AxWMPLib.AxWindowsMediaPlayer;
    
        // Play a .wav file with the ActiveX control.
        axWmp.URL = @"C:\WINDOWS\Media\Windows XP Startup.wav";
    }
    
  7. Нажмите клавишу F5 для построения и выполнения приложения.

См. также

Задачи

Пошаговое руководство. Размещение элементов управления Windows Forms в приложении Windows Presentation Foundation с помощью языка XAML

Размещение элемента управления ActiveX в Windows Presentation Foundation с помощью XAML

Основные понятия

Пошаговое руководство. Размещение составного элемента управления Windows Presentation Foundation в Windows Forms

Обзор: размещение элементов управления Windows Presentation Foundation в приложении Windows Forms

Ссылки

ElementHost

WindowsFormsHost

Другие ресурсы

Конструктор WPF

Разделы руководства по миграции и взаимодействию