现在的位置: 首页 > 综合 > 正文

WPF-11:WPF触发器

2014年02月06日 ⁄ 综合 ⁄ 共 3207字 ⁄ 字号 评论关闭

直接贴代码,看效果:

<Window x:Class="TestTigger.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="458" Width="869">
    <Grid>
        <Grid.Resources>
            <!--普通的触发器-->
            <!--<Style x:Key="BigFontButton">
                <Style.Setters>
                    <Setter Property="Control.FontFamily" Value="Times New Roman"/>
                    <Setter Property="Control.FontSize" Value="18"/>
                </Style.Setters>
                <Style.Triggers>
                    <Trigger  Property="Control.IsFocused" Value="True">
                        <Setter Property="Control.Foreground" Value="DarkRed"/>
                    </Trigger>
                </Style.Triggers>
            </Style>-->


            <!--多动作的触发器-->
            <!--<Style x:Key="BigFontButton">
                <Style.Setters>
                  <Setter Property="Control.FontFamily" Value="Times New Roman"/>
                <Setter Property="Control.FontSize" Value="18"/>
                </Style.Setters>
                <Style.Triggers>
                    <Trigger Property="Control.IsFocused" Value="True">
                        <Setter Property="Control.Foreground" Value="DarkBlue"/>
                    </Trigger>
                    <Trigger Property="Control.IsMouseOver" Value="True">
                        <Setter Property="Control.Foreground" Value="LightYellow"/>
                        <Setter Property="Control.FontWeight" Value="Bold"/>
                    </Trigger>
                    <Trigger Property="Button.IsPressed" Value="True">
                        <Setter Property="Control.Foreground" Value="Red"/>
                    </Trigger>
                </Style.Triggers>
            </Style>-->


            <!--动作集合的触发器-->
            <!--<Style x:Key="BigFontButton">
                <Style.Setters>
                    <Setter Property="Control.FontFamily" Value="Times New Roman"/>
                    <Setter Property="Control.FontSize" Value="18"/>
                </Style.Setters>
                <Style.Triggers>
                    <MultiTrigger>
                        <MultiTrigger.Conditions>
                            <Condition Property="Control.IsFocused" Value=" True"/>
                            <Condition Property=" Control.IsMouseOver" Value="True"/>
                        </MultiTrigger.Conditions>
                        <MultiTrigger.Setters>
                            <Setter Property="Control.Foreground" Value="Red"/>
                        </MultiTrigger.Setters>
                    </MultiTrigger>
                </Style.Triggers>
            </Style>-->
            <!--切换图片-->
            <Style x:Key="BigFontButtonStyle" TargetType="{x:Type Button}">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type Button}">
                            <StackPanel Orientation="Horizontal" >
                                <Image Name="imageClose" Source="/TestTigger;component/Images/c01.png" />
                            </StackPanel>
                            <ControlTemplate.Triggers>
                                <Trigger Property="IsMouseOver" Value="True">
                                    <Setter Property="Source" Value="/TestTigger;component/Images/c02.png" TargetName="imageClose"/>
                                </Trigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
            <!--触发器实现简单的动画-->
            <!--<Style x:Key="BigFontButtonStyle">
                <Style.Setters>
                    <Setter Property="Control.FontFamily" Value="Times New Roman"/>
                    <Setter Property="Control.FontSize" Value="18"/>
                </Style.Setters>
                <Style.Triggers>
                    <EventTrigger RoutedEvent="Mouse.MouseEnter">
                        <EventTrigger.Actions>
                            <BeginStoryboard>
                                <Storyboard>
                                    <DoubleAnimation
                                        Duration="0:0:0:2" 
                                        Storyboard.TargetProperty="FontSize" To="22"/>
                                </Storyboard>
                            </BeginStoryboard>
                        </EventTrigger.Actions>
                    </EventTrigger>
                    <EventTrigger RoutedEvent="Mouse.MouseLeave">
                        <EventTrigger.Actions>
                            <BeginStoryboard>
                                <Storyboard>
                                    <DoubleAnimation
                                        Duration="0:0:0:1" 
                                        Storyboard.TargetProperty="FontSize"/>
                                </Storyboard>
                            </BeginStoryboard>
                        </EventTrigger.Actions>
                    </EventTrigger>
                </Style.Triggers>
            </Style>-->
           
        </Grid.Resources>
        <Button Content="Button" Height="46" HorizontalAlignment="Left" Style="{StaticResource ResourceKey=BigFontButtonStyle }"
                Margin="331,191,0,0" Name="button1"  VerticalAlignment="Top" Width="111" />
    </Grid>
</Window>

代码下载:http://download.csdn.net/detail/yysyangyangyangshan/5169061

抱歉!评论已关闭.