2011-08-01 3 views
1

Windows Workflow Foundation 4에는 Winforms에서 사용할 수있는 것과 비슷한 WPF 속성 표가 들어 있습니다. 맨 위에있는 도구 모음에는 Visual Studio에 표시된 X가 아닌 CLEAR 버튼이 있습니다. 이 컨트롤에는 런타임에 null이 아닌 ControlTemplate 속성이 있습니다. 템플릿은 도구 모음 버튼에 다양한 글리프를 사용합니다.ReverseTechner a ControlTemplate

이 템플릿을 추출 할 수있는 도구 나 기술이 있습니까? XAML을 검사하고 수정하여 도구 모음 스타일을 변경하고 싶습니다 (주로 단추 레이블 만 변경).

템플릿 개체에 프로그래밍 방식으로 액세스 할 수 있지만 이것을 XAML로 serialize하는 방법을 잘 모르겠습니다.

+1

답변이 없지만 [snoop] (http://snoopwpf.codeplex.com/) 할 수 있습니다. – Will

답변

1

XamlWriter.Save을 사용해 보셨습니까?

var template = control.Template; 
using (var stream = new FileStream("template.xaml", FileMode.Create)) 
{ 
    using (var writer = XmlWriter.Create(stream, new XmlWriterSettings() { Indent = true })) 
    { 
     XamlWriter.Save(template, writer); 
    } 
} 
+0

아주 좋은 시도. 불행히도 그것은'비공개 형식의 System.Activities.Presentation.Internal.PropertyEditing.KeyboardEnabledRadioButton '을 직렬화 할 수 없습니다. –

+0

아, 너무 나빴습니다. ( –

+0

틀렸을 때 정정하십시오.하지만 이것이 템플릿은 프로그래밍 방식으로 만들어 졌기 때문에 * XAML로 표현할 수는 없습니다 * 어느 시점에서 보호 레벨을 무시하는 XamlWriter 구현을 작성해야하지만 템플릿을 추출하는 것은 제가 자주하는 일이 아닙니다. –

0

레드 게이트의 리플렉터를 사용해 보셨습니까? 물론, 어셈블리가 난독 화되면 실제로 많은 도움이되지 않을 수도 있습니다.

관련 문제