2009-06-21 3 views
2

내비게이션 창페이지으로 구성된 WPF 응용 프로그램이 있습니다. App.Xaml 내에서는 탐색 명령을 사용할 때 참조 할 수 있도록 내 모든 페이지를 만듭니다.문제를 일으키는 리소스 참조가 있습니까?

<Application ...> 
<Application.Resources> 
    <FirstPage x:Key="first"/> 
    <SecondPage x:Key="second"/> 
</Application.Resources> 
</Application> 

은 "원형"참조 (이 전화를 다른 무엇을 알아낼 수 없습니다) "두 번째"FirstPage이 참조 또는 그 반대 할 때 발생 : 그것은이 같은 작은 선물을 간다. 그냥 말해 보자. 첫 번째 페이지은이 예제에서 "second"을 참조한다.

<FirstPage ...> 
    ... 
    <Button 
    CommandParameter="{StaticResource second}" 
    </Button> 
</FirstPage> 

(당신이 대답하기 전에 , 나는 FirstPage과 SecondPage이 순간에 응용 프로그램 자원에 추가되는 순서에 얻을 것이다!)

이 상황의 결과를 이상한 쓸모에 오류. 첫째, App.xaml에, 나는

이 FirstPage

그래서 내가 FirstPage로 이월 형식의 인스턴스를 생성하고 디자이너를로드 할 수 없습니다 오류를 얻을.

응용 프로그램 XAML을로드하지 못했습니다 : XAML, 나는 "초"강조 표시되고이 매우 도움이 오류 메시지가 표시됩니다 참조 라인에서. 첫째, 닭 또는 계란 온 다른 XAML 파일

를로드하려고하기 전에 응용 프로그램 XAML 에서 수정 오류? FirstPage를 만들 수 없기 때문에 App.xaml을로드 할 수 없으며 실제로 app.xaml이 문제이기 때문에 FirstPage를 수정할 수 없습니다.

것들 나는이 문제를 해결하는 것을 시도했다 :
1) 나는 에 Application.Resources에 추가 된 항목의 순서를 변경했습니다. FirstPage가 SecondPage를 가져와야한다면 FirstPage가 나타나기 전에 SecondPage를 추가하여 사용할 수 있어야한다고 생각했습니다. 이것은 작동하지 않습니다.
2) StaticResource 대신 DynamicResource을 사용해 보았습니다. 도움이 안돼.
3) 코드에서 Page 인스턴스를 추가하려고 시도했습니다. 이것은 효과가 있지만 만족스럽지 않습니다.

참고 : 응용 프로그램은 컴파일되고 정상적으로 실행됩니다. 문제는 디자인 타임에이 문제가 발생하는 이유입니다.


이 문제를 해결하려면 어떻게해야합니까? 내비게이션 매개 변수로 사용할 장소에 내 페이지에 액세스해야하므로 응용 프로그램의 리소스에 넣어야합니다. 이 작업을 수행 할 대체 방법이 있습니까? 내가 도울 수 있다면 내 응용 프로그램에서 각 페이지의 단일 인스턴스 만 원한다.

+0

일반적으로 이러한 쓸모없는 예외가 나타날 때마다 실제 오류는 Exception.InnerException 속성에 있습니다. – Nir

+0

의심의 여지가 없습니다. 문제는 앱이 완벽하게 정상적으로 실행되므로 실제 이유를 찾기 위해 예외의 깊이를 파악할 수 없다는 것입니다. – Will

+0

동일한 문제가 발생합니다. 좋은 해결책을 찾았습니까? – djskinner

답변

1

리소스 자체가 아닌 매개 변수로 리소스 이름을 사용할 수 있습니다. 그러면 명령이 실제 리소스를 조회 할 수 있습니다.

+0

나는 지금 비슷한 것을하고있다. xaml보다는 코드로 단일 인스턴스를 추가하고 있으며 예상대로 작동합니다. 그러나 나는 여전히 무슨 일이 일어나고 있는지에 관심이 있습니다. – Will

관련 문제