2009-09-10 5 views
3

뒤에 코드에서컨트롤 {정적 리소스 {X : 유형 TextBlock에}}의 스타일을 가져 오기 내가 XAML의 리소스에 사용자 지정 기본 TextBlock의 스타일을 추가하지 않고 뒤에 코드에서 TextBlock에 대한 기본 스타일을 잡아하려는

나는이 같은 방법을 가지고 :

난 그냥 이렇게 어쨌든 거기에 정규 TextBlock의 스타일

public TextBlock DrawTextBlockAtPoint(string text) 
{ 
    Style textblockdefaultstyle = *GetDefaultStyleForProperty(TextBlock.StyleProperty); 
    DrawTextBlockAtPoint(text, textblockdefaultstyle) 
} 

를 사용하는 재정의를 제공 할

public TextBlock DrawTextBlockAtPoint(string text, Style textblockStyle) 
{ 
//... 
} 

?

답변

7

StaticResource 마크 업 확장은 기본적으로 정의 키의 리소스를 찾으려고 시도합니다. TextBlock의 유형에 대한 기본 스타일을 사용하여 검색 할 수있는 경우 :

물론
var defaultTextBlockStyle = FindResource(typeof(TextBlock)); 

, 이것은 (때문에) findResource 방법이 정의 된 컨텍스트에서 호출 할 필요가 : {StaticResource {x:Type TextBlock}} 당신이 사용하는 코드에서 얻을 수 있어야 . 나는 메인 윈도우 클래스 내에서 그것을 사용하고 그것은 작동합니다.

희망이 도움이됩니다.