2010-05-27 2 views
6

Je suis débutant sur WPF et j'ai besoin de votre aide.Comment appliquer le style dans les contrôles WPF?

Problème: J'ai 4 boutons sur le formulaire et j'ai besoin d'appliquer 2 styles différents sur une paire de 2 boutons.

Y a-t-il un moyen de réaliser cela?

s'il vous plaît me fournir un échantillon si possible ...

Merci à l'avance ...

Répondre

10

Vous pouvez définir des styles nommés et les attribuer explicitement à tous les contrôles que vous le souhaitez. Voici un apprêt pour les boutons de style: Getting Started with WPF : Button Control Part 2 – Basic Styling

Et voici un exemple:

<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

Merci beaucoup BEN – Amit

0

Utilisez ce code pour différents styles pour différents boutons ou tout autre

<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> 

ici i déclarant le style à la fois pour le texteBloc et le bouton.Utilisez celui-ci ..

Questions connexes