Después de hacer clic en los botones WPF en nuestra aplicación, brillan en azul, vuelven al color original, vuelven a azul, etc. Esto parece ser un comportamiento predeterminado en Windows Vista/7. No sucede en XP. ¿Algún consejo?Botones brillantes WPF
7
A
Respuesta
8
Debe sobrescribir la plantilla del botón predeterminado: http://mark-dot-net.blogspot.com/2007/07/creating-custom-wpf-button-template-in.html debe comenzar.
Específicamente Sección 3:
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="border" Property="BorderBrush" Value="#FF4788c8" />
<Setter Property="Foreground" Value="#FF4788c8" />
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" >
<Setter.Value>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1" >
<GradientStop Color="#FFFFD190" Offset="0.35"/>
<GradientStop Color="Orange" Offset="0.95"/>
<GradientStop Color="#FFFFD190" Offset="1"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Setter TargetName="content" Property="RenderTransform" >
<Setter.Value>
<TranslateTransform Y="1.0" />
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsDefaulted" Value="True">
<Setter TargetName="border" Property="BorderBrush" Value="#FF282828" />
</Trigger>
<Trigger Property="IsFocused" Value="True">
<Setter TargetName="border" Property="BorderBrush" Value="#FF282828" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter TargetName="border" Property="Opacity" Value="0.7" />
<Setter Property="Foreground" Value="Gray" />
</Trigger>
</ControlTemplate.Triggers>
1
Necesita anular la ControlTemplate
. De lo contrario, está utilizando desencadenantes para establecer los colores en eventos como colocar el mouse sobre él. Si simplemente configura el Background
, solo está configurando el fondo predeterminado cuando no hay Trigger
s en curso.
Cuestiones relacionadas
- 1. Botones WPF ancho igual/recomendado
- 2. WPF ListView con botones en cada línea
- 3. Detección de puntos brillantes/oscuros en la pantalla del iPhone
- 4. WPF - Crear botones con flechas hacia arriba y hacia abajo usando los botones estándar
- 5. ¿Cómo crear una matriz de botones en WPF?
- 6. Cómo ocultar cuadros de texto, etiquetas y botones C# WPF
- 7. Botones de radio WPF - ¿MVVM - el enlace parece morir?
- 8. WPF: ventana personalizada, botones mínimos/máximos/cercanos estándar
- 9. ¿Cómo puedo manejar mejor los botones de radio WPF?
- 10. Botones de radio grupo XAML
- 11. ¿Cómo puedo botones de estilo
- 12. Establecer los botones predeterminados "Aceptar" y "Cancelar"
- 13. Botones redondos
- 14. Convención en Caliburn.Micro para botones de radio
- 15. Botones de alternancia WPF con plantilla personalizada no aceptando clic en el área correcta
- 16. ¿Cómo eliminar el efecto de mouse predeterminado en los botones WPF?
- 17. Espaciado de botones de forma equitativa en una ventana en WPF
- 18. WPF: Cómo hacer que los botones de selección se muestren como una fila horizontal de ToggleButtons
- 19. ¿Por qué mis botones de radio Windows 8 WPF están fuera de control?
- 20. WPF/C# - ejemplo para crear y usar programas mediante botones de radio
- 21. Los botones WPF MessageBox no tienen el tema del sistema operativo
- 22. botones debajo expanding scrollview
- 23. botones de ficha personalizados
- 24. Botones de radio Yii
- 25. Python GTK3 botones Treeview
- 26. Highchart ocultar botones predeterminados
- 27. Imágenes en AlertDialog botones
- 28. Botones personalizados en Silverlight
- 29. Presionar múltiples botones simultáneamente
- 30. botones circulares Grupo Ver
¡Gracias! Eso es exactamente lo que necesitaba. – Jason
Me alegro de que funcionó para usted. – Nate
Sus desencadenantes se adaptarían mejor a un estilo que es considerablemente más fácil que usar ControlTemplate – markmnl