2009-03-31 4 views
0

처음에는 WPF에 익숙하지 않으므로 제 양해 해 주시기 바랍니다.호스팅 응용 프로그램이 WPF가 아닌 경우 WPF가 App.xaml 파일을 처리합니까?

Rhino 4.0 용 .Net 플러그인을 만들고 있습니다. 플러그인을 사용하여 WPF를 사용하여 UI를 개발 중입니다.

Rhino 4.0 CAD 엔진은 MFC/Win32 응용 프로그램입니다. 플러그인은 응용 프로그램이 실행 된 후에 실행되며 WPF 창을 만든 다음 MFC 창을 그 안에 넣습니다.

내 질문에 WPF는 호스팅 응용 프로그램이 WPF 응용 프로그램이 아닌 경우 응용 프로그램 수준 리소스를 가져 오는 App.xaml 파일을 찾습니다.

그렇지 않은 경우 응용 프로그램 수준 리소스를 저장하는 가장 좋은 방법은 무엇입니까?

감사합니다,

제이슨

답변

1

WPF 프로젝트는 기본적으로 응용 프로그램의 진입 점을 생성합니다. 이 진입 점은 귀하의 Application 유래 클래스를 생성하고 초기화합니다. 당신이 필요로하는 경우에, 당신은 항상 수동으로 인스턴스를 생성하고 저장하는 응용 프로그램 수준의 자원 수 있습니다

App app = new App(); 
app.InitializeComponent(); 
app.Run(); 
+1

이것은 최상의 접근 방식처럼 들리지만 실행시 App.xaml 페이지에 지정된 리소스를 찾을 수 없습니다. 직선 경로뿐만 아니라 "pack : // ,,,,"메서드 및 "component/path"메서드를 사용해 보았습니다. 아무도 작동하지 않습니다. Visual Studio에서 찾을 수는 있지만 런타임에는 실패 할 수 있습니다. –

0

내 생각은 코뿔소는 별도의 프로세스로 실행 않는 플러그인을 실행 않는 방법과 관련이있다거나 당신이 정의한 어떤 것을 호출 않습니다입니까?

정의한 함수를 호출하면 코드를 삽입하여 창을 시작할 수 있습니다.

1

는 MSDN은 '테마 레벨'이라고 말한다 무엇에 자원을 저장하는 시도?

"<root>\Themes"이라는 폴더에는 generic.xaml이라는 파일이 있습니다.

WPF 응용 프로그램이 아닌 프로젝트에서이 작업을 시도하지는 않았지만이 방법이 유용 할 수 있습니다.

+0

고마워. 곧해볼 께. –

3

App.xaml은 부분 클래스 App : Application의 일부로 사용됩니다. 응용 프로그램에 WPF 기반 응용 프로그램 클래스가 없으면 을 수동으로로드하여 응용 프로그램과 병합하고 주 윈도우를 만들고 표시 할 수 있습니다 (응용 프로그램 클래스의 정적 메서드를 통해 액세스).

코드가 이와 비슷합니다.

관련 문제