Можно ли получить доступ к элементу управления Silverlight через модель автоматизации COM? - PullRequest
0 голосов
/ 26 марта 2010

Я пытаюсь получить доступ к методам элемента управления Silverlight через модель автоматизации COM. Теоретически это должно быть возможно, поскольку предоставление методов элемента управления Silverlight в виде элементов, доступных для сценариев, предоставляет их через интерфейс IDispatch. Мне удалось правильно получить доступ к интерфейсу IDispatch через модель автоматизации, но когда я пытаюсь вызвать метод на доступном интерфейсе через Invoke, происходит сбой.

Мне было интересно, знает ли кто-нибудь, было ли это ожидаемым поведением, то есть я нарушаю какое-то базовое требование песочницы или это должно работать, и это просто что-то в моей реализации, которое нуждается в исправлении? Приветствия.

Ответы [ 2 ]

0 голосов
/ 05 мая 2010

Чтобы ответить на мой вопрос, да, это возможно и именно так, как описано в моем вопросе. Оказалось, что предостережение состоит в том, что Silverlight не предоставляет событие, соответствующее тому, когда вызов к интерфейсу IDispatch будет успешным, например, когда он инициализирован «достаточно», чтобы правильно ответить.

После прекращения моих попыток загрузки событий (например, OnLoad, OnPageComplete и т. Д.) И ручного шага по кнопке или тому подобное, я мог успешно получить доступ к интерфейсу IDispatch.

0 голосов
/ 26 марта 2010

Доступна альтернативная модель хостинга, подробности в MSDN: http://msdn.microsoft.com/en-us/library/dd550717(v=VS.95).aspx

Очень сложно использовать эти методы, но вам, возможно, просто нужно это сделать.

Вот ссылка на Silverlight agcore COM: http://msdn.microsoft.com/en-us/library/cc296246(v=VS.95).aspx

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