2011-08-01 8 views
1

Windows Workflow Foundation 4には、Winformsで使用できるものと同様のWPFプロパティグリッドが含まれています。上部のツールバーには、Visual Studioで表示されるXではなくCLEARボタンがあります。このコントロールには、実行時にnullではないControlTemplateプロパティがあります。テンプレートはツールバーのボタンにさまざまなグリフを使用します。リバースエンジニアとControlTemplate

このテンプレートを抽出するためのツールやテクニックはありますか?私は、XAMLを調べて、ツールバーのスタイルを変更するように変更したいと考えています(主にボタンラベルを変更するだけです)。

テンプレートオブジェクトにプログラムでアクセスできますが、これをXAMLにシリアル化する方法がわかりません。

+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

Red Gate's Reflectorを試しましたか?もちろん、アセンブリが難読化されている場合、実際にはそれほど助けにはならないかもしれません。

関連する問題