Я создаю приложение, которое начинается с минимального кода примера CEFSharp, и я использую ChromeTabs в Wpf. У меня CEFSharp правильно перенаправляет всплывающее окно windows на вкладки, но у меня возникла проблема с получением URL-адреса этих динамических c CEFSharp windows. По какой-то причине AddressChanged не отображается для этих динамических c windows. Я попытался использовать LoadingStateChanged для размещения URL-адреса в текстовом поле, но это создает все новые проблемы с потоками. Я провел последние несколько дней, пытаясь заставить это работать, и это сводит меня с ума. Вот как создается моя новая вкладка, но она не отображает событие AddressChanged.
int counttabs = tbControlRCI.Items.Count-1;
string popURL;
popURL = popup_request;
tbControlRCI = this.etTabCntrlRCI;
//here we should open a new tab and place a new rcibrowser in it and give it the url
RCIBrowser = new ChromiumWebBrowser(popURL);
RCIBrowser.Name = "RCIBrow_" + counttabs;
string shorturl = popURL.Substring(popURL.LastIndexOf("/"), popURL.Length - popURL.LastIndexOf("/"));
ChromeTabs.ChromeTabItem newTabItem = new ChromeTabs.ChromeTabItem
{
Header = shorturl,
Name = "RCITab_" + counttabs,
Content = RCIBrowser
};
LifespanHandler lifeRCI = new LifespanHandler();
RCIBrowser.LifeSpanHandler = lifeRCI;
lifeRCI.popup_request += life_popup_request;
tbControlRCI.Items.Add(newTabItem);
tbControlRCI.SelectedIndex = tbControlRCI.Items.Count - 1;
В моем XAML есть только ChromeTabsControl, в который я помещаю все эти динамические c вкладки и браузеры. Может ли кто-нибудь показать ошибку моих способов?
EDIT: Хорошо, спасибо amaitland, я пробовал несколько разных способов сделать это, но по какой-то причине он просто не обновляется. Все, что мне нужно, это текстовое поле, чтобы показать адрес, на котором работает браузер, так что один способ - это нормально. Итак, я попробовал это:
Binding b = new Binding();
b.Mode = BindingMode.OneWay;
b.Path = new PropertyPath("Address");
b.ElementName = "RCIBrowser";
txtbxRCI.SetBinding(TextBox.TextProperty, b);
Большое спасибо, Hometownnerd