[dotnetbrowser] Вызов .NET из JavaScript - ThreadProblem
я использую vb net, против 2017 и WPF, без mvvm.
Мое главное окно Wpf содержит элемент управления dotnetbrowser-Webbrowser (оценкатолько).Выглядит так:
<wpf:WPFBrowserView x:Name="WebBrowser1" Background="Transparent" Panel.ZIndex="1110"
Margin="-5,-5,0,0" Grid.ColumnSpan="2"
BrowserType="LIGHTWEIGHT" VerticalAlignment="Top" HorizontalAlignment="Left"
Width="300" Height="300" >
<wpf:WPFBrowserView.Preferences>
<DotNetBrowser:BrowserPreferences TransparentBackground="True"/>
</wpf:WPFBrowserView.Preferences>
</wpf:WPFBrowserView>
Я определил событие так:
AddHandler WebBrowser1.Browser.ScriptContextCreated,
Sub(sender As Object, e As ScriptContextEventArgs)
Dim value As JSValue = WebBrowser1.Browser.ExecuteJavaScriptAndReturnValue("window")
value.AsObject().SetProperty("Account", New Account())
End Sub
Учетная запись выглядит следующим образом:
Public Class Account
Public Sub Save(firstName As String, lastName As String)
Try
MessageBox.Show(firstName & " " & lastName)
Dim freileg As New winLeg(firstName)
freileg.Show()
Catch ex As Exception
l(ex.ToString())
End Try
End class
В окне сообщения правильно отображается имя, фамилия, имя,Но новое WPFWindow (winleg) разбивает ошибку:
Beim aufrufenden Thread muss es sich um einen STA-Thread handeln, da dies
für viele Komponenten der Benutzeroberfläche erforderlich ist.
(англ: вызывающий поток должен быть STA, так как он необходим для многих компонентов пользовательского интерфейса)
Мне нужны возвращенные данные вмой основной поток wpf-окна.Я не очень привык к Threading (кроме Backgroundworker), поэтому я не в курсе.Любая помощь будет оценена.