Я не уверен, что есть способ получить стиль/шаблон по умолчанию от чего-то и применить его к другому элементу управления в XAML, хотя вы можете быть в нем в коде. Хотя это поставит проблему, что вы просто хотите получить часть кнопки в шаблоне, и проще (не говоря уже о чище) просто написать новый стиль, а не взломать его, чтобы получить именно эту часть шаблона.
Проблема с кнопками рестайлинга заключается в том, что при нажатии они возвращаются к отображаемому по умолчанию состоянию, так же, как и при их зависании. Что вы хотите сделать, это изменить ControlTemplate кнопки.
Когда я начинал работу в WPF, я нашел this tutorial , чтобы быть весьма полезным введением в процесс.
Я бы рекомендовал получить копию ShowMeTheTemplate, чтобы предоставить вам доступ к большинству шаблонов по умолчанию для элементов управления, поскольку это сэкономит много основной работы и даст вам представление о том, как работают элементы управления.
Когда вы создали шаблон управления (или любой стиль/шаблон, если на то пошло), вы можете сохранить его в словаре ресурсов и применить его к элементам управления, указав его из соответствующего свойства, используя расширение разметки StaticResource.
Пример:
(В словаре ресурсов, например App.Resources):
<Style x:Key="myStyle" TargetType="Button">
<Setter Property="Width" Value="70" />
</Style>
Используется в кнопках:
<Button Style="{StaticResource myStyle}" />
Надеется, что это помогает вам начать работу.
Спасибо за ваш ответ! Подсказка о ShowMeTheTemplate полезна. Я думаю, что довольно странно, что в среде, предназначенной для MVVM, они даже не думали о разделении стиля и разметки ... – 2010-11-27 19:54:22