Пользовательские элементы управления MTA в приложениях STA
Мой проект имеет несколько аппаратных компонентов, которые должны работать вместе.
В рамках моего проекта у меня есть видеокарта BlackMagic Decklink, к которой я успешно подключился через BlakcMagic SDK.
Я разработал пользовательский элемент управления в отдельном проекте, и теперь я хочу интегрировать этот код с моим основным проектом.
Единственная проблема, которая у меня есть, заключается в том, что для интерфейса BlackMagic требуется модель MTA, основной проект - это модель STA, и из-за другого аппаратного интерфейса он должен оставаться таким же.
У меня вопрос, как я могу обосновать экземпляр пользовательского элемента управления MTA в среде STA?
1 ответ
Хитрость здесь в том, чтобы добавить утверждение:
[MTAThread]
перед методом Load родителя. В этом случае я инкапсулировал usercontrol в другой форме и добавил оператор перед form_load(){}.
Получившийся UserControl затем существовал в модели MTA.