2009-12-08 7 views
1

내 프로젝트에 CustomStyles.xaml이라는 ResourceDictionary가 있습니다. RD라는 하위 디렉토리에 있으므로 해당 위치는 RD/CustomStyles.xaml입니다. 내가 CustomGroupBox.vb라는 클래스 전용 파일을 가지고 있고, 새로운()에서, 나는있는 ResourceDictionary에서 리소스에 액세스하려는 :내 ResourceDictionary에 액세스하려면 어떻게해야합니까?

내 질문은 다음이다.

CustomGroupBox.vb에 해당하는 XAML이 없기 때문에 어떻게해야합니까?

P. CustomStyles.xaml이 BuildAction이이고 리소스가이고 콘텐츠가이 아니므로 프로젝트와 함께 컴파일되므로 빌드 디렉토리 (\ bin)로 출력되지 않습니다. 따라서 다음은 작동하지 않습니다 ...

Me.Resources.Source = New Uri("RD\CustomStyles.xaml") 

답변

0

어셈블리에서 리소스를 끌어 올 수 있습니다.

blog 게시물에 표시됩니다.

1

응용 프로그램 수준에서 리소스 사전이 정의되어 있다고 가정 할 때 Application.Current.Resources를 사용하여 리소스를 찾을 필요가있는 것처럼 보입니다. 예 :

YourControl.Style = CType(Application.Current.Resources("OneOfYourStyles"), Style) 

편집 : 어셈블리의 리소스가 아닌 응용 프로그램의 경우, 리소스에 액세스 할 수 팩 URI 구문 (link)를 사용할 수 있습니다. 아마도 다음과 같이 보일 것입니다 :

Dim u as Uri = New Uri("/" + Me.GetType().Assembly.GetName().Name + ";RD/CustomStyles.xaml" 
+0

someihing과 같은 소리는 한 번 들었지만 파일 자체에 있던 'Current'는 필요하지 않았습니다. –

+0

사실, 이것은 나를 위해 작동하지 않았다. 내 파일이 응용 프로그램이 아닌 어셈블리에 있기 때문에 다음과 같은 오류가 발생합니다. 'Current'는 'MyApplication'의 구성원이 아닙니다. – Max

+0

아, 알겠습니다. 팩 URI 구문을 사용하여 어셈블리에서 리소스를 얻을 수 있다고 생각합니다. 내 대답을 세부 사항으로 수정했습니다. 희망이 도움이됩니다! –

관련 문제