我的问题是全景项目的 LayoutUpdated 事件。我将 LayoutUpdated 事件分配给哪个项目并不重要,当我滚动这些项目时它不会触发。这是我的代码:
<controls:Panorama Grid.Row="2" x:Name="WebScrollView" >
<!--Panorama item one-->
<controls:PanoramaItem Width="480" x:Name="LeftPanoramaControl"/>
<!--Panorama item two-->
<controls:PanoramaItem Width="480" x:Name="MiddlePanoramaControl"/>
<controls:PanoramaItem Width="480" x:Name="RightPanoramaControl"/>
</controls:Panorama>
在我的 C# 课程中,我说:
private void BrowsersLoaded( )
{
//first, we stop the progressbar
AnimatedProgressBar.StopProgressBar( );
//next, we want to make sure that the left and right browser are going to load new content, as now, for instance, the left browser is placed upon the middlecontent
//so, we cannot just say _leftBrowser.Navigate, this will screw up the view
LeftPanoramaControl.Visibility = _leftControlVisibility;
RightPanoramaControl.Visibility = _rightControlVisibility;
WebScrollView.UpdateLayout( );
WebScrollView.DefaultItem = MiddlePanoramaControl;
//this seems like beating around the bush, doesm't it?
//well, A problem I encountered was that the LayoutUpdated event was called even before I could do anything, check whatever boolean, cause they were all
//set to true even before the event was fired, which called upon the CheckID method, and gave a huge infinite loop.
MiddlePanoramaControl.LayoutUpdated += new EventHandler( WebScrollView_LayoutUpdated );
}
但是当我滚动浏览全景项目时它不会触发。有谁知道为什么?
问候,极客