2009-03-07 3 views
2

Как вы можете получить доступ к встроенным стилям/шаблонам WPF?Повторное использование встроенных стилей WPF

Например, я пытаюсь переместить хром NavigationWindow в нижнюю часть окна. Я видел Microsoft NavigationWindow template example, но он довольно многословный и не использует повторно хронологию навигации по умолчанию.

Я также пробовал смотреть на дерево внутри Snoop. Все хром содержится внутри элемента сетки под названием «NavChrome», но я могу найти любую ссылку на него. Кажется, что ни один «PART_xyz» не соответствует ему.

Для CTP некоторые люди упоминают использование «PFThemeNavigationWindowNavigationButtonForwardButtonStyle» и т. Д. Для стилей кнопок, однако это, похоже, больше не работает.

Итак, можно ли получить доступ к этим встроенным стилям? Было бы неплохо снова использовать их в других местах!

Спасибо!


Edit: ответ saldoukhov «s очень полезно, но есть способ сделать это без необходимости копировать все, что XAML? Это просто не похоже на мой подход DRY.

ответ

5

Обычно я делаю это в Expression Blend. Выберите элемент управления -> щелкните правой кнопкой мыши-> Изменить элементы управления (Шаблон) -> Изменить копию ...

Тогда это зависит от того, что вы хотите сделать. Если вам повезло, и шаблон, который вы редактируете, содержит ссылку на изменение ключевых ресурсов, которые вы можете получить желаемый эффект, тогда вы можете просто создать свои собственные ресурсы с помощью этого ключа, и они будут «переопределять» те из них в шаблоне , в этом случае вам не нужно носить с собой полный шаблон. Но чаще всего вам нужно изменить несколько вещей вокруг шаблона, поэтому вы просто извлекаете их в свои собственные ресурсы и начинаете носить с собой.

3

не ответ на ваш вопрос, но немного намек: В дополнение к ответу saldoukhov, вы можете также использовать XamlPadX (http://blogs.msdn.com/llobo), чтобы получить доступ к встроенному в стилях, если у вас нет Expression Blend.

Смежные вопросы