2013-01-25 1 views
2

사용자 정의 클래스 안에있는 코드에서 어떻게 페이지로 이동합니까? WinRt 페이지 탐색

private void DoSomething(object sender, RoutedEventArgs e) 
{ 
    var work = new Work(); 
    work.doMore(); 
} 

여기에이 클래스의

은 실제로 장소 걸릴 탐색하고 싶습니다 :

public class Work 
{ 
    public void DoMore() 
    { 
     // this is what I've tried, but doesn't work 
     var myFrame = new Frame(); 
     myFrame.Navigate(typeof(HomePage)); 
    } 
} 

답변

3

코드를 예를 들어, 내 MainPage.xaml.cs를이 코드를 가지고 말할 수 기본 프레임이 아니기 때문에 시도한 코드가 작동하지 않는다면 MainFrame 참조를 나머지 코드에 게시하여 코드 뒤의 외부 뷰를 탐색 할 수 있도록해야합니다. 뭔가 간단한 것을 만들려면 메인 프레임 인스턴스를 게시하는 App 클래스에 정적 속성을 추가하는 것이 좋습니다.

편집 : 일부 코드

On App.xaml.cs 
     public static Frame MainFrame{get;private set;} 

     protected override void OnLaunched(LaunchActivatedEventArgs args) 
      { 
       Frame rootFrame = Window.Current.Content as Frame; 
       MainFrame = rootFrame; 
(....) 
      } 
Usage: 
     App.MainFrame.Navigate(...); 
+0

당신은 예를 제공 할 수 있습니까? 나는 이것에 아주 새롭다. – user1206480

+1

방금 ​​만든 편집을 확인하십시오. 내가 말했듯이 이것을하는 멋진 방법이있다. 그러나 이것이 당신을 가게하는 데 충분해야한다는 것을 알고있다. – DVD

+0

우수함! 이제 알겠습니다. 당신의 설명과 시간에 감사드립니다. – user1206480