Я пытаюсь разместить элемент управления ActiveX в приложении WPF. После попытки использовать существующую информацию в сети и здесь я зашел в тупик.
Мне нужно использовать элемент управления ActiveX, предоставленный для связи с измеритель мощности УФ-излучения. Они предоставляют приложение который регистрирует и использует элемент управления и даже включает некоторые полезные демонстрационные приложения. Я вырезал файл OCX и при необходимости поместил его сюда. У вас не будет измерителя мощности, с которым можно будет поговорить, но приложение и демонстрации по-прежнему будут успешно загружать элемент управления ActiveX.
Я создал простое приложение Windows Forms. Мне удалось перенести элемент управления ActiveX на панель инструментов, перетащить его в свою форму, и все в порядке. Демо-приложения, которые они предоставляют, тоже делают это.
Однако заставить это работать в среде WPF - совсем другое дело. Элемент управления нельзя добавить на панель инструментов и «перетащить» в приложение.
Пока что я пробовал две техники:
- Методику можно найти здесь. Я могу добавить ссылку на элемент управления, но затем вхожу в ад пространства имен. Предлагаемое им пространство имен xmlns: ax не может найти информацию. Вот моя попытка, основанная на том, что мне сообщает средство просмотра объектов:
xmlns:ax="clr-namespace:OphirUsbXLib;assembly=Interop.OphirUsbXLib"
- Найденная методика здесь. По сути, это создание нового проекта, который создает библиотеку на основе Windows Forms, которая содержит элемент управления ActiveX (yikes). Я могу добавить узел Windows Forms, но не могу получить доступ к элементу управления ActiveX внутри. Я могу сделать элемент управления общедоступным, но по-прежнему не могу вызывать методы и т. Д. Это не похоже на правильное решение.
Короче говоря, у меня есть элемент управления ActiveX, который прекрасно работает в Forms, но это настоящая сука, чтобы начать работать в WPF.
Любое понимание приветствуется!