Проблема: Показать веб-сайт в веб-браузере (или аналогичном элементе управления). Исходный сайт имеет страницу входа, которая ведет к странице выбора выписки, после выбора магазина и выбора даты «отправить» открывается другая страница, на которой отображаетсятаблица счетов.HTML-код таблицы имеет идентификатор «Statement».
Моя конечная цель - получить таблицу и проанализировать строки данных.
Я попытался добавить элемент управления WebBrowser в View., установив источник на сайт.Это сработало, и я смог войти, выбрать местоположение и просмотреть страницу с заявлением.Однако я не смог найти способ связать HTML в элементе управления WebBrowser с переменной в ViewModel.
<Border BorderBrush="Black" BorderThickness="1" Grid.Column="1" Grid.Row="2">
<WebBrowser Source="www.google.com" />
</Border>
Также «источник» не может быть привязан, если я хочу иметь возможность изменить это вбудущее с раскрывающимся списком.
Следующая идея заключается в создании объекта WebBrowser в ViewModel, назначении веб-сайта источнику WebBrowser и привязке WebBrowser в представлении к WebBrowser в ViewModel.
Веб-браузер ViewModel (2-я попытка) Я изменил веб-сайт для безопасности:
<Border BorderBrush="Black" BorderThickness="1" Grid.Column="1" Grid.Row="2">
<WebBrowser DataContext="{Binding StatementSite}"/>
</Border>
Код ViewModel:
private WebBrowser _statementSite = new WebBrowser();
public WebBrowser StatementSite
{
get { return _statementSite; }
set {
_statementSite = value;
NotifyOfPropertyChange(() => StatementSite);
}
}
public void StartProgressCommand()
{
StatementSite.Source = new Uri("https://www.google.com/");
NotifyOfPropertyChange(() => StatementSite);
}
Когда я запускаю программу таким образом, она компилируется иначинается без ошибок, но в представлении нет видимого сайта, только черный элемент управления.Исходный способ, приведенный ниже, показывает идеальный сайт, но я не могу найти способ привязать HTML к свойству в ViewModel.
<Border BorderBrush="Black" BorderThickness="1" Grid.Column="1" Grid.Row="2">
<WebBrowser Source="http:\\www.google.com"/>
</Border>
Является ли элемент управления WebBrowser хорошим способом для достижения этой цели?И как я могу привязать HTML-код к ViewModel или создать элемент управления WebBrowser в ViewModel и отобразить его в представлении?