2011-09-21 13 views
0

나는 DLL을 사용자 컨트롤과 함께 동적으로로드하는 응용 프로그램을 가지고 있습니다. DLL 중 하나 안에는 버튼이 표시되는 컨트롤이 있는데,이 버튼을 누르면 새 창이 팝업됩니다. 모든 것이 훌륭하지만 창은 나타나지 않습니다 ... 나는 "리소스 XXX.xaml을 찾을 수 없습니다"라는 메시지를 팝업 창을 정의하는 xaml의 이름과 함께 표시합니다."리소스를 찾을 수 없습니다"

private void onCmdSetIndexValidator(object _param) { 
     IIndex param = (IIndex)_param; 

     new IndexValidatorsEditor(param).Show(); 
    } 

어떤 아이디어 :

팝업 창

버튼에 바인더 제본되는 명령에 생성됩니다?

답변

0

해결책은 간단했다 ... 내 DLL이 잘못로드 코드 -이 Assembly.LoadFile 대신 Assembly.LoadFrom이 사용

0

윈도우의 리소스는 그들이 사는 어셈블리에 대해 범위가 지정되어야합니다. 창 (이미지, 페이지 등)에서 에셋에 액세스하는 경우 (자체 어셈블리에서 가져온 경우에도) 해당 어셈블리를 지정해야합니다. 어셈블리를 지정하지 않으면 WPF는 리소스가 실행중인 어셈블리 (클라이언트 응용 프로그램)에서 온 것으로 가정합니다.

팩 URI를 통해 어셈블리를 정의하십시오. 예 : /nameOfAssembly;component/folder/background.png

원래 예외의 내부 예외 값을 살펴 보는 것도 도움이 될 수 있습니다. 때로는 어떤 리소스에 문제가 있는지 찾기위한 단서를 제공하기도합니다.

http://msdn.microsoft.com/en-us/library/aa970069.aspx

+0

당신이 경우 흠 ... 그건 사실입니다 나만의 리소스를 추가하십시오. 일반적으로 XAML을 수동으로 추가하지 않고 D – SOReader

관련 문제