¿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 WPF Mouseover Image
- 4. Botón giratorio WPF
- 5. Botón Deshabilitar en 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. Ocultación de un botón en WPF
- 9. Deshágase del borde del botón en WPF?
- 10. WPF - Vista de lista con el botón
- 11. botón WPF IsPressed y isEnabled problema
- 12. Botón WPF haga clic en C# código
- 13. Contenido del botón WPF con '&' no acepta
- 14. WPF CheckBox con apariencia de "Botón"
- 15. Botón parpadeante en la aplicación WPF
- 16. 'Graying Out' una imagen de botón WPF?
- 17. WPF: ComboBox sin el botón desplegable
- 18. Plantilla de botón personalizado en WPF
- 19. WPF: Plantilla de Botón vs ContentTemplate
- 20. Botón WPF Sin borde Sin fondo
- 21. ajuste del botón FlatStyle en WPF
- 22. Cómo alinear el botón en wpf treeview
- 23. Progressbar color de primer plano
- 24. Aplicación WPF aún se ejecuta en segundo plano después de cerrar
- 25. WPF: Botón nemotécnica no funciona si colocar el botón en una barra de herramientas
- 26. Cómo crear un menú contextual con el botón derecho para un botón en WPF
- 27. Cómo crear un efecto de sombreado alrededor de un botón wpf como el botón de google
- 28. Enlace de un botón de WPF Parámetro de comando al botón en DataTemplate
- 29. Cómo alinear el botón de control de WPF Expander
- 30. Asignar tecla de acceso directo a un 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