Просто, чтобы добавить очень простое решение, это было достаточно хорошо для меня, и я думаю, что вопрос адресуется к OP еще. Я использовал решение in this answer, за исключением обычного значения Background
вместо изображения. не
<Style x:Key="SomeButtonStyle" TargetType="Button">
<Setter Property="Background" Value="Transparent" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid Background="{TemplateBinding Background}">
<ContentPresenter />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Нет повторно шаблонный за заставляя Background
всегда быть Transparent
фон с помощью кнопки шаблонного - Mouseover больше не влияет на фон, как только это будет сделано. Очевидно, замените Transparent
на любое предпочтительное значение.
Спасибо, что было идеально. Это было сложнее, чем я думал, но все работает хорошо. – Nellius
Почему-то 100 ответов о создании пользовательских шаблонов для элементов управления WPF, и все они излишне ошибочны. Нет причин бороться с тем, чтобы написать 50 строк кода шаблона для кнопки, чтобы изменить 1 вещь. Все, что вам нужно сделать, это в дизайнере xaml щелкнуть правой кнопкой мыши элемент управления и создать копию кода шаблона. VS создаст стиль с этой точной кнопки, и вы сможете настроить его там. Занимает буквально 2 секунды. –