• 样式


      设置Button元素的FontSize和Background属性,就可以定义WPF元素的外观和操作方式

    如下所示:

            <StackPanel>
                <Button Name="button1" Width="150" FontSize="12" Background="AliceBlue">
                    Click Me!
                </Button>
            </StackPanel>

      除了定义每个元素的外观和操作方式之外,还可以定义用资源存储的样式。为了完全定义控件的外观,可以使用模版,再把它们存储到资源中。

    样式

      要定义样式,可以使用包含Setter元素的Style元素。使用Setter,可以指定样式的Property和Value,例如属性Button.Background和值AliceBlue

      为了把样式赋予指定的元素,可以将样式赋予每一类型的所有元素,或者为该样式使用一个键。要把样式赋予某一类型的所有元素,可使用Style的TargetType属性,指定x:Type标记扩展(x:TypeButton),将样式赋予一个按钮。

     <Window.Resources>
            <Style TargetType="{x:Type Button}">
                <Setter Property="Button.Background" Value="LemonChiffon"/>
                <Setter Property="Button.FontSize" Value="18"/>
            </Style>
            <Style x:Key="ButtonStyle">
                <Setter Property="Button.Background" Value="AliceBlue"/>
                <Setter Property="Button.FontSize" Value="18"/>
            </Style>
     </Window.Resources>

    将button2的Style属性用StaticResource标记扩展设置为{StaticResource ButtonStyle},其中ButtonStyle指定了前面定义的样式资源的键值,所以button2的背景为AliceBlue。

      除了把按钮的Background设置为单个值之外, 还可以将Background属性设置为定义了渐变色的LinearGradientBrush,如下所示:

      <Style x:Key="FancyButtonStyle">
                <Setter Property="Button.FontSize" Value="22"/>
                <Setter Property="Button.Foreground" Value="White"/>
                <Setter Property="Button.Background">
                    <Setter.Value>
                        <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
                            <GradientStop Offset="0.0" Color="LightCyan"/>
                            <GradientStop Offset="0.14" Color="Cyan"/>
                            <GradientStop Offset="0.7" Color="DarkCyan"/>
                        </LinearGradientBrush>
                    </Setter.Value>
                </Setter>
      </Style>

    button3的样式采用情色线性渐变效果:

      <Button Name="button4" Width="200" Style="{StaticResource FancyButtonStyle}">Fancy</Button>

    效果如下:

  • 相关阅读:
    MySQL select语句中where条件的提取过程
    MySQL特性:ICP,Index Condition Pushdown
    MySQL特性:BKA,Batched Key Access,批量索引访问
    MySQL特性:MRR,Multi-Range Read,多范围读
    show engine innodb status 输出结果解读
    IPv6的一点使用小计
    MySQL 通过ibd恢复数据
    explain 小结
    clickhouse的多路径存储策略
    cenos6.5升级glibc2.18
  • 原文地址:https://www.cnblogs.com/hdsong/p/5062083.html
Copyright © 2020-2023  润新知