在Pivot控件中,所有Pivot项目内容在WindowsPhone 7.1中一次加载我正在开发跨平台应用程序。
问题:
在我的应用程序中,每个Pivot项都有WebBrowser控件。在java script calls are conflicted
时加载所有数据透视表项目的内容时。
要求:
如果Pivot Control有4个Pivot项,如item1,item2,item3和item4,那么load item2 after the content of item1 load finished
。
编辑1:我尝试过以下代码http://www.c-sharpcorner.com/UploadFile/1d42da/synchronization-events-and-wait-handles-in-C-Sharp/
ManualResetEvent mre = new ManualResetEvent(false);
foreach (PivotDetails pivotdetails in pivtdetailslist)
{
PivotItem pivotitem = new PivotItem();
pivotitem.Header = pivotdetails.header;
WebBrowserControl browsercontrol = new WebBrowserControl(this);
browsercontrol.Navigate(pivotdetails.url);
pivotitem.Content = browsercontrol;
mre.Reset();
myPivot.Items.Add(pivotitem);
mre.WaitOne();
}
private void webBrowser_LoadCompleted(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
mre.Set();
}
EDIT1问题:等待屏幕仅显示无法看到设计页面。
答案 0 :(得分:0)
我使用以下代码“等待完成事件”
foreach (PivotDetails pivotdetails in pivtdetailslist)
{
PivotItem pivotitem = new PivotItem();
pivotitem.Header = pivotdetails.header;
WebBrowserControl browsercontrol = new WebBrowserControl(this);
pivotitem.Content = browsercontrol;
mre.Reset();
myPivot.Items.Add(pivotitem);
mre.WaitOne();
}
private void webBrowser_LoadCompleted(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
myPivot.isHitTestVisible = true;
}
private void myPivot_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
Pivot pivot = sender as Pivot;
PivotItem currentPivot= pivot.SelectedItem as PivotItem;
if (currentPivot.Content is WebBrowserControl)
{
WebBrowserControl bc = currentPivot.Content as WebBrowserControl;
if (bc.getWebView().Source == null)
{
bc.Navigate(pivtdetailslist[pivot.SelectedIndex].url);
bc.getWebView().LoadCompleted += new System.Windows.Navigation.LoadCompletedEventHandler(webBrowser_LoadCompleted);
myPivot.IsHitTestVisible = false;
}
}
}