Вопрос

Я создал приложение WPF, в котором много кнопок.

Теперь клиент хочет заменить все кнопки на иконки.Например:Все кнопки OK должны иметь одинаковый значок, все кнопки cancel btns и так далее.

Я хочу поместить во все кнопки Style="{StaticResource ButtonStyle_OK}", Style="{StaticResource ButtonStyle_OK}" и т.д.

Теперь мой вопрос в общих чертах заключается в том, что я должен разместить в этих стилях

<Style x:Key="ButtonStyle_OK" TargetType="Button">
    <!-- What comes here? -->                
</Style>

Я боюсь, что собираюсь изменить все кнопки в моем приложении на изображение и использовать событие наведения курсора мыши для щелчка, было бы глупо?

Примечания:Я хочу, чтобы кнопки были изображением, а не кнопкой, содержащей изображение (т.е.Мне не нужна оригинальная рамка кнопки), говоря о форме.Я хочу, чтобы эти кнопки / стили можно было использовать повторно.

Это было полезно?

Решение

Взгляните на эту статью MSDN о стилизации - http://msdn.microsoft.com/en-us/library/ms745683.aspx

Я думаю, вы могли бы получить некоторую информацию, прочитав раздел ControlTemplate.

Кроме того, как отметил Крис, стили могут быть перенесены в словарь ресурсов, а затем могут быть применены глобально ко всем кнопкам, если опустить клавишу.

Обновить:Вам не нужно будет использовать изображение с событием щелчка, использование ControlTemplate позволит вам более точно определить внешний вид кнопки.

Другой пример - http://mrpmorris.blogspot.com/2008/04/wpf-custom-button-templates.html

Другие советы

поместите их в словарь ресурсов, затем все, что вам нужно сделать, это поменять местами словари, чтобы изменить стиль и практически все, что связано с пользовательским интерфейсом кнопок и т.д.

Я думаю, вам нужен шаблон управления в тегах, что-то вроде этого:

<Setter TargetType="{x:Type Button}">
     <Setter Property="Template">
         <Setter.Value>
             <ControlTemplate TargetType="{x:Type Button}">
             </ControlTemplate>
         </Setter.Value>
     <Setter Property="Template">
</Setter>

вы должны быть в состоянии относительно легко найти шаблон по умолчанию в Интернете (MSDN).Я бы рекомендовал использовать Blend для этого (если вы можете) - это может значительно упростить задачу.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top