2011-07-28 2 views
0
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()); 
} 

오류가 웹 브라우저 컨트롤 는 시각적 트리가 될 때까지 당신은 웹 브라우저 메소드를 호출 할 수 없습니다를 호출 할 때 발생하는 것입니다 .... 내가 웹 브라우저 호출 될 때 발생합니다.오류가

+0

오류가 무엇으로 라인

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

를 교체? –

답변

4

Webbrowser 컨트롤의 Loaded 이벤트를 구독하고로드 된 처리기로 탐색 코드를 이동하십시오.

var address = list.ElementAt(i).Detail.ToString(); 
wb.Loaded += (sender, e) => { wb.NavigateToString(address); } 
+0

만약 Loaded 이벤트의 예제가 있다면 나에게 링크를주세요. – Sandy

+0

다른 CHANGE IN 코드에서 스택 애널을 GRID로 변경하십시오 ......... – Sandy

0
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()); 
     }