Ich versuche, CefSharp schön mit Caliburn.Micro spielen, aber das war nicht so einfach wie ich gehofft hatte. Es ist wahrscheinlich immer noch einfach, aber ich kenne sie einfach nicht genug.CefSharp.WPF Integration mit Caliburn.Micro
Ich habe meine Ansicht eine Browser-Komponente:
<cefsharp:ChromiumWebBrowser x:Name="Browser"></cefsharp:ChromiumWebBrowser>
Dann eine Eigenschaft meiner Ansicht nach Modell mit dem gleichen Namen ich hinzugefügt:
public ChromiumWebBrowser Browser { get; set; }
ich jetzt hatte gehofft, dass Caliburn.Micro Magie hatte diese Eigenschaft an den tatsächlichen Browser in der Ansicht gebunden, so dass ich Browser
von meinem Code-behind verwenden konnte.
Um dies zu testen, ich versuche, zu einer bestimmten Webseite zu gehen, wenn die Sicht aktiviert:
protected override void OnActivate()
{
Browser.Dispatcher.Invoke(() =>
{
Browser.Address = "http://stackoverflow.com";
NotifyOfPropertyChange(() => Browser);
});
base.OnActivate();
}
Da von einem anderen Thread gehört Browser ich den Dispatcher bin mit der Lage sein, es richtig zuzugreifen.
All dieser Code läuft ohne Ausnahmen gut, aber SO wird nicht geöffnet, wenn der Browser geladen wird.
Ich vermute, das ist, weil ich Caliburn.Micro nicht in der Lage gewesen bin, die beiden ChromiumWebBrowser
Objekte richtig zu verbinden.
Wie kann ich das erreichen?