2010-05-27 22 views
6

Soy un principiante en WPF y necesito su ayuda.¿Cómo aplicar estilo en los controles de WPF?

Problema: Tengo 4 botones en el formulario y necesito aplicar 2 estilos diferentes en el par de 2 botones.

¿Hay alguna manera en que podamos lograr esto?

favor me proporcione la muestra si es posible ...

Gracias por adelantado ...

Respuesta

10

Se pueden definir los estilos con nombre y luego asignar explícitamente a ningún tipo de control como desee. he aquí un resumen de los botones de estilo: Getting Started with WPF : Button Control Part 2 – Basic Styling

Y aquí es un ejemplo:

<Window x:Class="WpfButtonStyling.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="250" Width="400"> 
    <Window.Resources> 
     <Style x:Key="ButtonStyle1" 
       TargetType="{x:Type Button}"> 
      <Setter Property="Foreground" 
        Value="Red" /> 
      <Setter Property="Margin" 
        Value="10" /> 
     </Style> 
     <Style x:Key="ButtonStyle2" 
       TargetType="{x:Type Button}"> 
      <Setter Property="Foreground" 
        Value="Blue" /> 
      <Setter Property="Margin" 
        Value="10" /> 
     </Style> 
    </Window.Resources> 

    <Grid> 
     <StackPanel> 
      <Button x:Name="FirstButton" 
        Content="First!" 
        Style="{StaticResource ButtonStyle1}"/> 
      <Button x:Name="SecondButton" 
        Content="Second" 
        Style="{StaticResource ButtonStyle2}" /> 
     </StackPanel> 
    </Grid> 
</Window> 
+0

Muchas gracias BEN – Amit

0

Usar este código para diferentes estilos para diferentes botones o cualquier otro

<Window x:Class="WpfApplication1.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
     HorizontalAlignment="Left" 
     VerticalAlignment="Top"> 
<Window.Resources> 
    **<Style x:Key="a" TargetType="{x:Type TextBlock}"> 
     <Setter Property="FontFamily" Value="Verdana" /> 
     <Setter Property="FontSize" Value="50"/> 
     <Setter Property="Background" Value="Indigo"/> 
    </Style> 
    <Style x:Key="b" TargetType="{x:Type TextBlock}"> 
     <Setter Property="FontFamily" Value="Arial"/> 
     <Setter Property="FontSize" Value="16"/> 
    </Style> 
    <Style x:Key="c" TargetType="{x:Type Button}"> 
     <Setter Property="FontFamily" Value="TimesNewRoman" /> 
     <Setter Property="FontSize" Value="50"/> 
     <Setter Property="Background" Value="Green"/> 
    </Style> 
</Window.Resources> 
<Grid> 
    <TextBlock Margin="26,41,39,0" Style="{StaticResource a}" Height="100" VerticalAlignment="Top">TextBlock with Style1</TextBlock> 
    <TextBlock Margin="26,77,39,0" Height="32" VerticalAlignment="Top">TextBlock with no Style</TextBlock> 
    <TextBlock Margin="26,105,67,96" Style="{StaticResource b}">TextBlock with Style2</TextBlock> 
    <StackPanel Orientation="Horizontal" VerticalAlignment="Top" Margin="26,170,-26,0"> 
     <Button Style="{StaticResource c}"> 
      <Bold >Styles</Bold></Button> 
     <Button Style="{StaticResource c}">are</Button> 
     <Button Style="{StaticResource c}">cool</Button> 
    </StackPanel> 
</Grid> 

aquí i declarar el estilo tanto para textBlock como para button.Use éste ...

Cuestiones relacionadas