2010-05-27 75 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和按钮的样式。使用这个..

相关问题