• WPF中Style的使用(转载)


    Styel在英文中解释为”样式“,在Web开发中,css为层叠样式表,自从.net3.0推出WPF以来,WPF也有样式一说,通过设置样式,使其WPF控件外观更加美化同时减少了大量的复杂属性的设置。

       在WPF中,设置外观样式我们有很多种方式,比如通过设置控件的属性来控制控件的外观样式;或者通过在每一个控件中分别设置Style;或者通过在整个 Window.Resource中设置Style,又或者在App.xaml的Application.Resource设置Style。

       在此我们就不讨论第一种方式设置控件的外观了,因为这不涉及到Style的使用。那么后三种设置样式来控制控件的外观有什么区别呢?那么我们来分别讨论吧!

       第一,通过在每一个控件中分别设置Style来控制控件的外观,示例代码如下:

                <Button Content="Button" Height="23" Name="button3" Width="75">
                    <Button.Style>
                        <Style TargetType="Button">
                            <Setter Property="Background" Value="Black" />
                        </Style>
                    </Button.Style>
                </Button>

    以上样式的设置只正对当前的Button有效,与其他同种类型的控件无关。

      第二,通过在Window.Resource中设置Style来控制控件的外观,示例代码如下:

        <Window.Resources>
            <Style TargetType="Button">
                <Setter Property="Background" Value="LightBlue" />
            </Style>
        </Window.Resources>

    以上样式的设置,针对整个Window的所有Button有效(只要没有单独的对Button设置),这种方法呢,相对于第一种来说减少了代码量。同时修改起来出错的可能性较小!

    第三,通过在App.xaml中的Application.Resource中设置Style来控制控件的外观,示例代码如下:

    <Application.Resource>

    <Style TargetType="Button">
                <Setter Property="FontFamily" Value="MS Reference Sans Serif" />
                <Setter Property="Background">
                    <Setter.Value>
                        <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
                            <GradientStop Color="White" Offset="0"/>
                            <GradientStop Color="SkyBlue" Offset="0.2"/>
                            <GradientStop Color="SkyBlue" Offset="0.8"/>
                            <GradientStop Color="White" Offset="1"/>
                        </LinearGradientBrush>
                    </Setter.Value>
                </Setter>
            </Style>

    </Application.Resource>

    以上样式的设置,针对整个Application的所有Button有效(只要在Window.Resource或者独立的Button中没有分别 设置),这种方法来设置控件的外观样式呢,相对于前两种来说,代码量有大幅的增加,同时呢,在一个应用程序中,往往同种类型的控件的很多属性都是相同的, 我们在Applicaiton.Resource进行全局设置,使其维护更加方便!

    原文地址http://blog.csdn.net/lsc19890723/article/details/6857558

  • 相关阅读:
    《C++ Primer》笔记string,vector
    《C++ Primer》笔记创建动态数组new,delete
    《C++ Primer》笔记迭代器iterator
    浅析jQuery基础框架
    linux常用命令
    Javascript常用对象详细讲解
    Javascript兼容多种浏览器
    Vim常用命令
    提高 web 应用性能之 JavaScript 性能调优
    jQuery LigerUI使用教程入门篇
  • 原文地址:https://www.cnblogs.com/mebius4789/p/2435230.html
Copyright © 2020-2023  润新知