2014-11-17 4 views
1

프레임이 있고 페이지가 거의없는 창이 있습니다. 창이로드되면 프레임이 환영 페이지로 이동하고 환영 페이지 내의 버튼을 클릭하면 부모 프레임이 다른 페이지로 이동하게됩니다. 이렇게하려면 페이지 수준에서 부모 프레임에 액세스해야하지만이 작업을 수행하는 방법을 알아낼 수 없습니다. 아래 코드를 시도했지만 NULL 반환 :페이지 수준에서 상위 프레임을 가져 오는 방법은 무엇입니까?

private void myButton_click(object sender, RoutedEventArgs e) 
{ 
    SecondPage secPage = new SecondPage(); 
    ((this.Parent) as Frame).Navigate(secPage); 
} 

'this.parent'가 반환하는 항목을 확인하고 null입니다. 하나의 페이지에서 다른 페이지로 이동할 수 있도록 부모 프레임을 어떻게 얻을 수 있습니까?

답변

1

페이지에는 NavigationService이라는 속성도 있습니다. 당신은 페이지 사이를 이동 편의를 위해이 속성을 사용할 수 있습니다

private void myButton_click(object sender, RoutedEventArgs e) { 
    SecondPage secPage = new SecondPage(); 
    NavigationService.Navigate(secPage); 
} 

부모 프레임에 액세스하려면, 당신은 걸어와 프레임을 찾기 위해 VisualTreeHelper을 사용해야합니다. 그것에 대해 더 많이 검색 할 수 있습니다. 어쨌든 NavigationService 속성을 사용하는 것이 좋습니다.

+1

예. 그게 내가 찾고 있던거야. 답변으로 표시되었습니다. 도와 줘서 고마워. – MajkeloDev

+0

엉망으로보기에 끔찍한 것처럼 보입니다. 나는 "좋은 예전"으로 "어딘가에 정적 필드를 만드는" – Felype

관련 문제