¿Cómo hacer un botón estilo plano en wpf? He intentado con la propiedad BasedOn pero no funciona.wpf botón plano
Respuesta
Sólo para empezar:
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Page.Resources>
<Style x:Key="Flat">
<Setter Property="Control.Background" Value="{x:Null}" />
<Setter Property="Control.BorderBrush" Value="{x:Null}" />
<Style.Triggers>
<Trigger Property="Control.IsMouseOver" Value="True">
<Setter Property="Control.Background" Value="{x:Null}" />
<Setter Property="Control.BorderBrush" Value="{x:Null}" />
<Setter Property="Control.FontWeight" Value="Bold" />
</Trigger>
<Trigger Property="Control.IsFocused" Value="True">
<Setter Property="Control.FontWeight" Value="Bold" />
</Trigger>
</Style.Triggers>
</Style>
</Page.Resources>
<StackPanel>
<Button Style="{StaticResource Flat}">Hello</Button>
</StackPanel>
</Page>
Entonces usted tiene un millon otras maneras de hacerlo, incluso un tiempo ControlTemplate
para completar redefinir el botón
No puedo hacer que esto funcione. Su estilo de ejemplo no elimina el borde o el fondo de un Botón. Lo único que funciona de este ejemplo es que el texto del botón se convierte en negrita al desplazarse. – Johncl
@Johncl ver mi respuesta debajo de –
solución rápida: incrustar el botón en un <ToolBar/>
Descargo de responsabilidad: Agregará una barra de herramientas de cromo, puede ser un problema en algunos casos. (Gracias Indeera)
Esto agrega una barra de herramientas de cromo y no resuelve el problema. – Indy9000
Agrega una barra de herramientas chrome: yes; No resuelve el problema: subjetiva –
Para añadir a la respuesta de Eduardo, esta solución se deshace de cualquier estilo adicional, como el borde del botón si el espesor se establece en 0.
Puede agregar más de estilo, según sea necesario:
<Style x:Key="Flat" TargetType="Button">
<Setter Property="Background" Value="{x:Null}" />
<Setter Property="BorderBrush" Value="{x:Null}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}">
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsKeyboardFocused" Value="true">
</Trigger>
<Trigger Property="IsDefaulted" Value="true">
</Trigger>
<Trigger Property="IsPressed" Value="true">
</Trigger>
<Trigger Property="ToggleButton.IsChecked" Value="true">
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{x:Null}" />
<Setter Property="BorderBrush" Value="{x:Null}" />
<Setter Property="FontWeight" Value="Normal" />
</Trigger>
<Trigger Property="IsFocused" Value="True">
<Setter Property="FontWeight" Value="Normal" />
</Trigger>
</Style.Triggers>
</Style>
Otra mejora que agregaría es establecer 'SnapsToDevicePixels =" True "' para '
solución más sencilla aquí usando ya definido estilo del botón de barra de herramientas:
<Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"
Content="You know I'm flat..." />
Si sólo tiene que hacer que el botón "invisible", pero lo más destacado capaz:
bb.Background = new SolidColorBrush (Colors.White); bb.BorderBrush = new SolidColorBrush (Colors.White);
- 1. Plano rápido de píxeles en WPF
- 2. Botón WPF con imagen
- 3. Botón Deshabilitar en WPF?
- 4. Botón WPF Mouseover Image
- 5. Botón giratorio WPF
- 6. ¿Cómo configurar el botón SWT de color de primer plano?
- 7. ¿Cómo crear un estilo plano de combo box de WPF?
- 8. 'Graying Out' una imagen de botón WPF?
- 9. WPF: Plantilla de Botón vs ContentTemplate
- 10. WPF CheckBox con apariencia de "Botón"
- 11. Botón WPF Sin borde Sin fondo
- 12. Botón WPF haga clic en C# código
- 13. WPF: ComboBox sin el botón desplegable
- 14. WPF - Vista de lista con el botón
- 15. botón WPF IsPressed y isEnabled problema
- 16. Ocultación de un botón en WPF
- 17. Botón parpadeante en la aplicación WPF
- 18. Contenido del botón WPF con '&' no acepta
- 19. Deshágase del borde del botón en WPF?
- 20. Cómo alinear el botón en wpf treeview
- 21. ajuste del botón FlatStyle en WPF
- 22. Plantilla de botón personalizado en WPF
- 23. Progressbar color de primer plano
- 24. Aplicación WPF aún se ejecuta en segundo plano después de cerrar
- 25. Cómo crear un efecto de sombreado alrededor de un botón wpf como el botón de google
- 26. Enlace de un botón de WPF Parámetro de comando al botón en DataTemplate
- 27. WPF: Botón nemotécnica no funciona si colocar el botón en una barra de herramientas
- 28. Cómo crear un menú contextual con el botón derecho para un botón en WPF
- 29. botón WPF Activar cuadros de eventos/Uchecked con un manejador
- 30. Mostrar solo X y minimizar el botón en wpf
Vea también: http://stackoverflow.com/questions/697381/setting-button-flatstyle-in-wpf, especialmente si le gustan las frases sueltas. – greenoldman