Размещение элемента управления ActiveX в WPF - PullRequest
2 голосов
/ 19 июня 2010

У меня есть элемент управления ActiveX (написанный на Delphi), который я хочу разместить в приложении WPF.Когда я пытаюсь загрузить его в панель инструментов, чтобы добавить его в XAML во время разработки, он не отображается в списке доступных элементов управления.Кто-нибудь знает, что фильтрует этот список и почему я не вижу элемент управления, чтобы добавить его?

Редактировать

Вот где я попадаю - host.Child = (ax);оператор получает ошибку (не удается неявно преобразовать тип 'DemoFrameControl.DemoFrameCtrl' в 'System.Windows.Forms.Control'), надеюсь, это поможет прояснить мою проблему

    private void WindowLoaded(object sender, RoutedEventArgs e)
    {
        // Create the interop host control.
        System.Windows.Forms.Integration.WindowsFormsHost host =
            new System.Windows.Forms.Integration.WindowsFormsHost();

        // Create the ActiveX control.
        DemoFrameControl.DemoFrameCtrl ax = new DemoFrameControl.DemoFrameCtrl();

        // Assign the ActiveX control as the host control's child.
        host.Child = (ax);

        // Add the interop host control to the Grid
        // control's collection of child controls.
        this.grid1.Children.Add(host);

        // Play a .wav file with the ActiveX control.
        //axWmp.URL = @"C:\WINDOWS\Media\Windows XP Startup.wav";
    }

Спасибо

1 Ответ

5 голосов
/ 19 июня 2010

Оформить Пошаговое руководство. Размещение элемента управления ActiveX в WPF .

Обновление:

Как определяется DemoFrameCtrl?Как говорится в ошибке, для использования WindowsFormsHost должен быть подкласс System.Windows.Forms.Control.Оболочка элемента управления ActiveX будет наследоваться от AxHost, который наследуется от Control.Я думаю, что Visual Studio сгенерирует оболочку, если вы добавите ссылку на библиотеку ActiveX.Если нет, вы можете попробовать использовать Aximp.exe (Windows Forms ActiveX Control Importer) .

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