2012-01-09 2 views
0

실버 라이트가 새롭고 하나의 페이지에서 다른 페이지로 탐색 문제가 발생했습니다. 내 시나리오는 다음과 같습니다콘텐츠 프레임 탐색 기능이 작동하지 않습니다 - silverlight 4

page1.xaml이라는 하나의 페이지가 있습니다. 이 페이지에서 하나의 탐색 프레임을 배치하고 login.xaml 페이지를로드했습니다.

이제 버튼을 클릭하면 (성공한 로그인시) page2.xaml (다른 마스터 페이지 종류)으로 이동해야하며 다른 프레임도 포함되어 있습니다. 그리고 myaccount.xaml을 처음로드해야합니다. 이 페이지의

지금까지 내가 한 것은 무엇입니까. app.xaml 페이지에서 ,

private void Application_Startup(object sender, StartupEventArgs e) 
{ 
Panel grid = new Grid(); 
grid.Children.Add(new MasterSimple()); 
this.RootVisual = grid;  
} 

내가 page1.xaml 지금

을 page2.xaml하는 page1.xaml에서 시각적 인 루트를 변경하려면, 때문에 위의 코드는, 여기 내 프레임

입니다
<navigation:Frame x:Name="ContentFrame" Style="{StaticResource ContentFrameStyle2}" 
        Template="{StaticResource CustomTransitioningNavFrame}" Margin="0,8,0,0" Grid.Row="1" VerticalAlignment="Top" Height="270" Width="640"> 
<navigation:Frame.UriMapper> 
<uriMapper:UriMapper> 
<uriMapper:UriMapping Uri="/{pageName}" MappedUri="/{pageName}.xaml"/> 
</uriMapper:UriMapper> 
</navigation:Frame.UriMapper> 
</navigation:Frame> 

및 page1.xaml 생성자에 ,

this.ContentFrame.Navigate(new Uri("/Loginnew", UriKind.Relative)); 

그래서 위의 코드, 쇼 내 page1.xaml 페이지에 Loginnew.xaml이 포함되어 있습니다. 이것은 좋다. loginnew.xaml 페이지에서 하나의 단추가 있으며 클릭하면 page2.xaml 페이지로 이동해야합니다. 내가 버튼을 아래 코드는

MasterTest2 currentPresentationPage = new MasterTest2(); 

(App.Current.RootVisual as Panel).Children.Clear(); 
(App.Current.RootVisual as Panel).Children.Add(currentPresentationPage); 

을 클릭하고 page2.xaml 페이지에, 나는이 프레임을 가지고 쓴이 내 구조

ContentFrame.Navigate(new Uri("/myaccount", UriKind.Relative)); 

<navigation:Frame x:Name="ContentFrame" Style="{StaticResource ContentFrameStyle}" 
          Navigating="ContentFrame_Navigating" Template="{StaticResource FrameControlTemplate1}"> 
</navigation:Frame> 

및 생성자에

, 프로그램.

내 문제는 로그인 페이지 버튼을 클릭하면 나에게 page2.xaml 페이지가 표시됩니다. page2.xaml 페이지에서는 Loginnew.xaml 페이지 만로드하고 myaccount.xaml 페이지는로드하지 않습니다. 나는 또한 내가 page2.xaml로 이동하면 주소 표시 줄에 URL이 http://www.abc.com/test.aspx#Loginnew

이 myaccount.xaml 페이지가로드되지 않는 이유가 변경되는 것을 표시했다? page2.xaml 프레임에 myaccount.xaml 페이지를로드하려면 어떻게해야합니까?

답변

1
this.ContentFrame.Navigate(new Uri("/Loginnew", UriKind.Relative)); 

위 코드를 생성자에서 프레임로드 이벤트로 옮기고 작동하기 시작합니다. :)

+2

당신은 이것을 commt로 추가해서는 안되며 원래의 질문을 편집하십시오! –

+0

@Marek Actualy, "Answer Your questions"버튼을 보았습니다. 당신이 그 생각을 그렇게 생각하지 않아? 그렇지 않다면 나는 다음 번에 돌볼 것입니다. – user867198

+2

@ user867198 찾을 때마다 자신의 질문에 대한 답변을 게시해야합니다. 그래서 내게 +1을주었습니다. 코드 형식을 추가하기위한 답을 편집했습니다. –

관련 문제