所谓的潇洒

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

WPF知识点备忘录——样式

复制代码
    <Window.Resources>
        <!--只对Control类及其派生类有效,若改成Button则只对Button有效-->
        <Style x:Key="Style1">
            <Setter Property="Control.FontFamily" Value="Times New Roman" />
            <Setter Property="Control.FontSize" Value="18" />
            <Setter Property="Control.FontWeight" Value="Bold" />
        </Style>
        <!--样式继承-->
        <Style x:Key="Style2" BasedOn="{StaticResource Style1}" >
            <Setter Property="Control.Foreground" Value="White"/>
            <Setter Property="Control.Background" Value="DarkBlue"/>
        </Style>
        <!--自动应用,不带x:Key,带上TargetType即可-->
        <Style TargetType="TextBlock">
            <Setter Property="Foreground" Value="Red"/>
            <Setter Property="Background" Value="Orange"/>
            <!--关联事件处理函数-->
            <EventSetter Event="TextBlock.MouseEnter" Handler="element_MouseEnter"/>
        </Style>
        <!--触发器-->
        <Style x:Key="TriggerStyle">
            <Style.Setters>                
            </Style.Setters>
            <Style.Triggers>
                <!--简单触发器-->
                <Trigger Property="Control.IsFocused" Value="True">
                    <Setter Property="Control.Foreground" Value="DarkRed"/>
                </Trigger>
                <!--多条件触发器-->
                <MultiTrigger>
                    <MultiTrigger.Conditions>
                        <Condition Property="Control.IsFocused" Value="True"/>
                        <Condition Property="Control.IsMouseOver" Value="True"/>
                    </MultiTrigger.Conditions>
                    <MultiTrigger.Setters>
                        <Setter Property="Control.Foreground" Value="DarkRed"/>
                    </MultiTrigger.Setters>
                </MultiTrigger>
                <!--事件触发器-->
                <EventTrigger RoutedEvent="Mouse.MouseEnter">
                    <EventTrigger.Actions>
                        <BeginStoryboard></BeginStoryboard>
                    </EventTrigger.Actions>
                </EventTrigger>
                <!--数据绑定触发器-->
                <DataTrigger></DataTrigger>
                <MultiDataTrigger></MultiDataTrigger>
            </Style.Triggers>            
        </Style>
    </Window.Resources>
    <StackPanel Width="200">
        <Button Margin="5" Padding="5" Name="cmd1" Style="{StaticResource Style1}">基本样式</Button>
        <Button Margin="5" Padding="5" Name="cmd2" Style="{StaticResource Style2}">样式继承</Button>
     <!--使用Style="{x:Null}"可以不参与自动应用--> <TextBlock Text="自动应用"/> </StackPanel>
复制代码

 

posted on   所谓的潇洒  阅读(25)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示