2010-05-27 19 views
6

我是WPF的初學者,需要你的幫助。如何在WPF控件中應用樣式?

問題: 我在窗體上有4個按鈕,需要在2個按鈕對上應用2種不同樣式。

有什麼辦法可以實現這個?

請提供樣品我如果可能的話......

在此先感謝...

回答

10

您可以定義命名的樣式,然後明確將其分配到任何控件如你所願。 這裏是造型按鈕底漆:Getting Started with WPF : Button Control Part 2 – Basic Styling

而且這裏有一個例子:

<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

非常感謝BEN – Amit 2010-05-27 12:18:21

0

使用此代碼爲不同的按鈕不同的風格或任何其他

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

這裏我聲明textBlock和按鈕的樣式。使用這個..

相關問題