2011-10-06 5 views
1

서로 다른 전체 화면 슬라이드 (또는 뷰)를 표시하는 미리 정의 된 시간 동안 각각을 회전하는 InformationKiosk WPF 응용 프로그램을 작성하고 있습니다. 1 단계가 완료되었습니다. 이렇게하면 사용자는 자신이 선택한 웹 페이지를 돌아 다니며 완벽하게 작동합니다.외부 dll에서 WPF MVVM보기를 WPF 응용 프로그램으로로드하는 방법은 무엇입니까?

2 단계는 내가 붙어있는 곳입니다. 지금은 외부 WPF 응용 프로그램 (전체 코드 액세스 권한이 있음)에서 슬라이드를 표시해야하며 이에 대한 실제 문제가 있습니다.

다른 응용 프로그램의 dll을 InformationKiosk 응용 프로그램의 참조로 추가했지만 찾을 수없는 스타일로 인해 많은 오류가 발생했습니다. 문제는 다른 응용 프로그램의 필수보기가 App.xaml 파일의 스타일과 외부 스타일 시트를 사용한다는 것입니다.

<ResourceDictionary Source="pack://application:,,,/ProjectName.Views;component/Support/ 
SupportQueueItemStyle.xaml" /> 

문제는 나는 우리 때문에 다른 응용 프로그램에서 App.xaml 파일을로드 할 수 있다는 것입니다 :

내가는 A ResourceDictionary.MergedDictionaries 요소에 다음과 같은 사용하여 외부 스타일 시트 파일의 스타일을로드 관리 하나의 응용 프로그램에 2 개의 App.xaml을 가질 수 없습니다. 따라서 응용 프로그램을 실행할 때 XamlParseException이 계속 발생합니다. "Set 'System.Windows.FrameworkElement.Style'속성에서 예외가 발생했습니다." (이는 스타일을 찾을 수 없음을 의미합니다).

그래서이 senario는 WPF/MVVM에서 어떻게 구현 될 예정입니까? 반드시 필요한 뷰의 코드를 InformationKiosk 응용 프로그램에 복사하는 것보다 더 좋은 방법이 있어야합니다. 이 확인을로드하는 동안 내가 할 수있는 경우

Assembly assembly = Assembly.LoadFrom(@".\AssemblyName.exe"); 

, 나는 assembly에 유용한 속성을 찾을 수 없습니다 정말 그것으로 무엇을 해야할지하지 않고 : 나는 또한 다음 코드를 사용하여 외부 응용 프로그램 어셈블리를로드 시도 이 메서드를 사용하여 원하는 것을 얻을 수도 있습니다.

도움을 줄 수 있으면 도와주세요. 많은 감사.

+0

다른 어셈블리 소스 코드에 액세스 할 수 있습니까? – Ucodia

+2

왜 공유 어셈블리 (.dll)를 만들지 않습니까? 우리는 제품과 그 작업에 매우 유용합니다. 4-5 개의 WPF 기반 공유 어셈블리가 있습니다. Visual Studio에서 App.xaml 대신 "WPF Custom Control Library"를 사용 했으므로 주 실행 파일에 참조를 추가하면 자동으로로드되는 Themes/Generic.xaml이 있습니다. – dowhilefor

+0

@Ucodia - 예, 외부 응용 프로그램 코드에 액세스 할 수 있습니다. – Sheridan

답변

1

공유 어셈블리 만들기 (.dll) 우리는이 제품을 사용하여 매우 잘 작동합니다. 4-5 개의 WPF 기반 공유 어셈블리가 있습니다. Visual Studio에서 App.xaml 대신 "WPF Custom Control Library"를 사용 했으므로 주 실행 파일에 참조를 추가하면 자동으로로드되는 Themes/Generic.xaml이 있습니다.

관련 문제