2009-10-13 5 views

답변

30

서식 파일 예제와 함께 스타일은 다운로드 할 때 on MSDN입니다 (Default WPF Themes link 참조).

그러나 BasedOn 특성을 사용하여 모든 것을 다시 정의하지 않고도 기존 스타일을 확장 할 수 있습니다.

+1

아가씨! 너의 연결은 Davey 죤스 로커에서 침몰되었다! – Danielson

+0

@Danielson는 (는) 링크를 업데이트했습니다. –

1

당신은 밖으로 StyleSnooperShowMeTheTemplate

+0

XAML 형식으로 얻을 수있는 코드가 있습니까?이 도구를 않기 때문에 –

+0

, 네 ... 당신이 코드를 볼 수 있습니다 (같은 트리 형식의 시각적 트리를 볼 수), 그것은 우편에서 제공하는 것 파일 –

34

확인과 같은 도구를 사용할 수 있습니다 :

http://www.blogs.intuidev.com/image.axd?picture=2010/5/StyleSnooper_TN.png

그것은 컨트롤 내장에 대한 표준 스타일을 덤프 (따라서도 템플릿)됩니다. 또한 WPF 컨트롤이 포함 된 특정 DLL을로드하고 해당 DLL의 기본 스타일을 볼 수도 있습니다.

+6

거기의 링크가 작동하지 않습니다. –

+0

@ doron-yaacoby에서 다운로드 할 수있는 다른 링크를 찾았습니다. http://blog.tomaskafka.com/book/export/html/112 –

+0

@ NicolaiShestakov, 감사합니다. 답변에서 링크를 업데이트했습니다. –

14

당신이 Expression Blend이있는 경우가 있습니다 :

  1. 드래그 디자인 표면에 컨트롤이
  2. 오른쪽 편집 템플릿 컨트롤을 클릭하고 선택 -> 편집 복사

이렇게, Blend는 컨트롤에서 기본 템플릿을 추출하고 문서/응용 프로그램 내에서 명시 적으로 리소스로 선언하여 원하는대로 편집 할 수 있습니다. 모든 컨트롤에 대해이 작업을 수행 할 수 있습니다.

3

Matthew MacDonald가 저술 한 "Pro WPF in C# 2008"에는 제 15 장의 컨트롤 템플릿 브라우저가 포함되어 있습니다. Apress 웹 사이트에서 샘플 코드를 다운로드하기 만하면됩니다.

그것을 위해
1

를 사용하여 마이크로 소프트의 혼합 : 이 도구에 파일에 전체 XAML 코드를 붙여 바로 그 시각적 트리 당신이 인식 할 컨트롤 클릭하면 이동이 편집 템플릿 :

이 옵션을 선택을

0

XamlWriter 클래스는이 기능을 제공합니다. controlName이 컨트롤 의 이름 인 경우 아래 스 니펫을 사용하면 stringBuilder 개체 안에 컨트롤 템플릿의 Xaml이 생깁니다. 답변에 언급 된 도구가이 클래스를 사용한다고 생각합니다.

var stringBuilder = new StringBuilder(); 
var xmlSettings = new XmlWriterSettings 
{ 
    Indent = true 
}; 

using (var xmlWriter = XmlWriter.Create(stringBuilder, xmlSettings)) 
{ 
    XamlWriter.Save(controlName.Template, xmlWriter); 
} 
관련 문제