逆向工程ControlTemplate

时间:2011-08-01 01:23:47

标签: wpf xaml workflow-foundation-4 controltemplate

Windows Workflow Foundation 4包含类似于Winforms可用的WPF属性网格。顶部的工具栏有一个CLEAR按钮,而不是Visual Studio显示的X.此控件具有ControlTemplate属性,该属性在运行时不为null。该模板使用工具栏按钮的各种字形。

是否有任何工具或技术可以让我提取此模板?我想检查和修改XAML以重新设置工具栏(大多只是更改按钮标签)。

我可以以编程方式访问模板对象,但我不知道如何将其序列化为XAML。

2 个答案:

答案 0 :(得分:1)

您是否尝试过使用XamlWriter.Save

e.g。

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);
    }
}

答案 1 :(得分:0)

你试过Red Gate的Reflector吗?当然,如果组件被混淆,它可能没有多大帮助。