WPF style的继承

本文介绍了WPF中样式的两种继承方式:通过瞄准控件基类和利用就近原则。提供了具体的示例代码,详细说明了如何为ContentControl类型的控件以及其子类设置和继承Style。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一种方式:瞄准控件的基类
如下例所示,继承ContentControl的控件,都可以使用这个Style

<Window.Resources>
    <Style x:Key="ContentControlStyle" TargetType="ContentControl">
        <Setter Property="Background" Value="Pink"></Setter>
        <Setter Property="FontSize" Value="12"></Setter>
    </Style>
</Window.Resources>
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*"></RowDefinition>
        <RowDefinition Height="*"></RowDefinition>
    </Grid.RowDefinitions>
    <Label Style="{StaticResource ContentControlStyle}" Content="按钮和文本框使用了基于ContentControl的Style"></Label>
    <Button Style="{StaticResource ContentControlStyle}" Content="按钮" Grid.Row="1"></Button>
</Grid>

第二种方式:继承

<Window.Resources>
    <Style x:Key="baseStyle" TargetType="Button">
        <Setter Property="Background" Value="Pink"></Setter>
        <Setter Property="FontSize" Value="12"></Setter>
    </Style>
    <Style x:Key="childStyle" TargetType="Button" BasedOn="{StaticResource baseStyle}">
        <Setter Property="FontSize" Value="50"></Setter>
    </Style>
</Window.Resources>
<Grid>
    <Button Style="{StaticResource childStyle}" Content="按钮"></Button>
</Grid>

就近原则:父类子类同时设定属性,调用子类,以子类为准

示例代码

Style 的StyleInheritDemo和StyleInheritDemo2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值