2011-10-18 1 views
3

코드에 generic.xaml을로드하려고 시도했지만 XamlParseException이 throw됩니다. 코드는 다음과 같습니다 :generic.xaml을로드 할 때 XamlReader가 throw되어 리소스 사전을 병합합니다.

Uri uri = new Uri("Themes/Generic.xaml", UriKind.Relative); 
StreamResourceInfo info = Application.GetResourceStream(uri); 
System.Windows.Markup.XamlReader reader = new System.Windows.Markup.XamlReader(); 

ResourceDictionary resdict = (ResourceDictionary)reader.LoadAsync(info.Stream); 

this.Resources.MergedDictionaries.Add(resdict); 

아이디어는 기본 페이지의 리소스 사전을 병합하는 것입니다. 그런 다음 파생 된 페이지는 예를 들어 {StaticResource DarkBrush}을 사용하여 기본 클래스의 스타일, 색상, 브러시 등을 사용할 수 있습니다.

는하지만 위의 코드 예외 :

가 '', 16 진수 값 0x0C가 유효하지 않은 문자입니다. 1 행 1 위.

generic.xaml 파일은 VS2010에서 표준 방식으로 작성되었습니다. Build Action을 Resource로 설정하려고했지만 그 중 하나가 작동하지 않았습니다 ...

Microsoft에서 code sample을 받았습니다. 거기 그것은 페이지를로드하는 데 사용되었습니다. 어떤 도움이라도 대단히 감사하겠습니다.

답변

5
 Uri uri = new Uri("Themes/Generic.xaml", UriKind.RelativeOrAbsolute); 
     var resDict = Application.LoadComponent(uri) as ResourceDictionary; 
     this.Resources.MergedDictionaries.Add(resDict); 
+0

고맙습니다! 쉽고 간단한 솔루션! –

+2

왜 여기에 문제가 있습니까? 왜 오류가 표시됩니까? –

+0

어떤 오류가 표시됩니까? –