.NET 4 контролируют шаблоны по умолчанию без Blend - PullRequest
6 голосов
/ 22 августа 2011

Как люди находят шаблоны по умолчанию для элементов управления .NET, когда они не могут использовать Expression Blend?

До сих пор, когда мне были нужны шаблоны для элементов управления WPF, я переходил на страницу проекта WPF в Codeplex,просматривал исходный код и обычно находил шаблоны по умолчанию в файлах «Generic.xaml».

Но сейчас я ищу шаблон по умолчанию для элемента управления «Frame».Я не могу найти его в Codeplex и не вижу его ни в источнике .NET Framework, предоставленном MS (файлы XAML не предоставляются, только файлы .cs).

Инструмент Style Snooper даетшаблон по умолчанию, но он кажется переработанным (ненужным длинным и ссылающимся на внутренние классы), а не оригинальным чистым определением.

Итак, как бедные люди получают эти шаблоны?

Ответы [ 2 ]

7 голосов
/ 22 августа 2011

1) вы можете получить шаблон по умолчанию и сериализовать его в файл.

var resource = Application.Current.FindResource(typeof(Control_Under_Interest));
using (XmlTextWriter writer = new XmlTextWriter(file_name, System.Text.Encoding.UTF8))
{
    writer.Formatting = Formatting.Indented;
    XamlWriter.Save(resource, writer);
}

2) Отражатель с Baml Viewer может использоваться для получения словарей ресурсов из сборок.

3) dotPeek 1.1 поддерживает разборку BAML.

0 голосов
/ 22 августа 2011

здесь - ссылка от zebi для .Net4.0.

...