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进行全局设置,使其维护更加方便!

  好了,以上是我对WPF中Style的理解,希望在我总结的同时,能够给同行们提供帮助,如果发现错误,请积极指正,谢谢!

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WPF可以使用Style来定义控件的外观和行为,可以通过编辑Style来自定义控件的外观和行为。 首先,你需要在XAML定义一个Style,可以使用<Style>标签或者<Window.Resources>标签的<Style>标签。例如,下面是一个定义Button控件Style的示例: ``` <Window.Resources> <Style x:Key="MyButtonStyle" TargetType="{x:Type Button}"> <Setter Property="Background" Value="Green"/> <Setter Property="Foreground" Value="White"/> <Setter Property="FontSize" Value="14"/> <Setter Property="FontWeight" Value="Bold"/> <Setter Property="Padding" Value="10,5"/> <Setter Property="Margin" Value="5"/> <Setter Property="HorizontalAlignment" Value="Left"/> <Setter Property="VerticalAlignment" Value="Center"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type Button}"> <Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"> <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" RecognizesAccessKey="True"/> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style> </Window.Resources> ``` 在这个示例,我们定义了一个名为“MyButtonStyle”的Button控件Style,设置了Button的背景、前景、字体大小、字体粗细、内边距、外边距、水平对齐方式、垂直对齐方式和模板。 接下来,你可以将这个Style应用到Button控件上,例如: ``` <Button Content="Click me!" Style="{StaticResource MyButtonStyle}"/> ``` 通过这种方式,你可以编辑Style来自定义控件的外观和行为。你可以在Style设置控件的属性,例如背景、前景、字体等,也可以设置控件的模板,来自定义控件的外观和行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值