码迷,mamicode.com
首页 > Windows程序 > 详细

WPF样式

时间:2015-06-28 22:56:08      阅读:327      评论:0      收藏:0      [点我收藏+]

标签:

1.引言

  样式(Style),主要是用来让元素或内容呈现一定外观的属性。WPF中的样式的作用,就像Web中的CSS一样,为界面上的元素定制外观,以提供更好的用户界面。在WPF应用程序中,通过控件的属性,我们也可以实现更改控件的外观。但是,这种方式局限性大、不灵活且不利于维护。例如:

   <Grid>
        <Button Width="80" Height="30" FontSize="16" FontWeight="Bold" Margin="140,32,78,139">Button1</Button>
        <Button Width="80" Height="30" FontSize="16" FontWeight="Bold" Margin="38,86,180,84">Button2</Button>
        <Button Width="80" Height="30" FontSize="16" FontWeight="Bold" Margin="38,32,180,139">Button3</Button>        
    </Grid>

  上面只有三个按钮,倘若数十个按钮、或者整个应用程序中所有的按钮,我们都这样给它们编写相同的属性,无疑很麻烦且不利维护。如果我们将上述Button的属性归纳起来,写到一段样式中,为按钮指定该样式(甚至用元素类型样式时,都不需要指定按钮样式),所有按钮就具有统一样式和外观了。如果想修改按钮外观,我们只需要改一下样式代码即可,所有按钮外观都会随之变化。

2.怎样使用样式

  样式的使用有多种方法,如内联样式(定义在元素内部)、已命名样式(为样式命名,使用时通过名称引用)、元素类型样式(为一种类型的元素,指定一种样式)等等。

3.内联样式

  内联样式,是在元素定义时,在元素内部通过拓展属性Style来定义样式。

    <Button>
            <Button.Style>
                <Style>
                    <!--字体-->
                    <Setter Property="Button.FontSize" Value="16"></Setter>
                    <!--宽度-->
                    <Setter Property="Button.Width" Value="80"></Setter>
                    <!--高度-->
                    <Setter Property="Button.Height" Value="40"></Setter>
                    <!--文本-->
                    <Setter Property="Button.Content" Value="Button"></Setter>
                </Style>
            </Button.Style>
        </Button>

技术分享

  内联样式的缺点在于,如果想为多个元素指定同一种样式,不得不在每个元素内部都编写同一种样式,这样不但耗费人力,并且后期维护性差。就像网页中的内联CSS一样。所以,一般我们将样式放到资源中,在元素定义时,为其指定一个样式(见下文 已命名样式);或者在资源中,为某一类型的元素指定一个样式(见下文 元素类型样式)。

4.已命名样式

  将相同的内敛样式归纳起来,放入资源中,构成一个样式,并为它起一个名字。这样,就可以通过名字为元素指定该样式。

  <Window.Resources>
        <Style x:Key="Style1">
            <Setter Property="Button.FontSize" Value="16"></Setter>
            <Setter Property="Button.Width" Value="180"></Setter>
            <Setter Property="Button.Height" Value="30"></Setter>
        </Style>
    </Window.Resources>
    <Grid>
        <Button Style="{StaticResource Style1}" Margin="23,32,101,86" Height="Auto" Width="Auto">Button1</Button>
    </Grid>

技术分享

指定目标类型(TargetType)

  如果给样式指定一种类型,则属性中的名字可以去掉,上述代码可改成:

 

WPF样式

标签:

原文地址:http://www.cnblogs.com/happinesshappy/p/4606242.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!