Произошла ошибка, когда я позвонил в веб-браузер .... - PullRequest
0 голосов
/ 28 июля 2011
for (int i = 0; i < list.Count; i++) {
  ds = new Discription();

  PivotItem pivotItem = new PivotItem();
  pivotItem.Header = list.ElementAt(i).header.ToString();

  StackPanel sta = new StackPanel();
  WebBrowser wb = new WebBrowser();

  sta.Children.Add(wb);

  pivotItem.Content = sta;         
  Pivot_item1.Items.Add(pivotItem);
  wb.NavigateToString(list.ElementAt(i).Detail.ToString());
}

при вызове элемента управления веб-браузера возникает ошибка Вы не можете вызывать методы WebBrowser, пока они не будут в визуальном дереве.

Ответы [ 2 ]

4 голосов
/ 28 июля 2011

Подпишитесь на событие Loaded элемента управления Webbrowser и переместите код навигации в загруженный обработчик.

Замените строку

wb.NavigateToString(list.ElementAt(i).Detail.ToString());

на

var address = list.ElementAt(i).Detail.ToString();
wb.Loaded += (sender, e) => { wb.NavigateToString(address); }
0 голосов
/ 29 июля 2011
    for (int i = 0; i < list.Count; i++) {
        ds = new Discription();

          PivotItem pivotItem = new PivotItem();
            pivotItem.Header = list.ElementAt(i).header.ToString();

       Grid sta = new Grid();
         WebBrowser wb = new WebBrowser();
         var address = list.ElementAt(i).Detail.ToString();
          wb.Loaded += (sender, e) => { wb.NavigateToString(address); };
       sta.Children.Add(wb);

         pivotItem.Content = sta;         
         Pivot_item1.Items.Add(pivotItem);
        wb.NavigateToString(list.ElementAt(i).Detail.ToString());
         }
...