WPF學習 第十一章2 觸發器

2觸發器

2.1簡單觸發器(Trigger)

當TextBox獲取到焦點時,就會根據觸發器修改其屬性。


<Window.Resources>

       <Style x:Key="textBoxStyle"TargetType="TextBox">

           <Style.Setters>

                <SetterProperty="FontSize" Value="40"></Setter>

           </Style.Setters>

           <Style.Triggers>

                <TriggerProperty="IsFocused" Value="True">

                    <Trigger.Setters>

                        <SetterProperty="Background" Value="Red"></Setter>

                    </Trigger.Setters>

                </Trigger>

           </Style.Triggers>

       </Style>

   </Window.Resources>

   <StackPanel>

       <TextBox Style="{StaticResourcetextBoxStyle}">TextBox</TextBox>

       <Button Name="button1" Content="Button1"></Button>

       <Button Name="button2" Content="Button2"></Button>

</StackPanel>

多條件觸發器(MultiTrigger):當所有條件都滿足時才運行屬性設置操作。

<Window.Resources>

        <Stylex:Key="textBoxStyle" TargetType="TextBox">

            <Style.Setters>

                <SetterProperty="FontSize" Value="40"></Setter>

            </Style.Setters>

            <Style.Triggers>

                <MultiTrigger>

                   <MultiTrigger.Conditions>

                        <ConditionProperty="IsFocused" Value="True"></Condition>

                        <ConditionProperty="IsMouseOver" Value="True"></Condition>

                   </MultiTrigger.Conditions>

                   <MultiTrigger.Setters>

                        <SetterProperty="Background" Value="Red"></Setter>

                   </MultiTrigger.Setters>

                </MultiTrigger>

            </Style.Triggers>

        </Style>

    </Window.Resources>

2.2事件觸發器

<Window.Resources>

       <Style x:Key="textBoxStyle"TargetType="TextBox">

           <Style.Setters>

                <SetterProperty="FontSize" Value="40"></Setter>

           </Style.Setters>

           <Style.Triggers>

                <EventTriggerRoutedEvent="Mouse.MouseEnter">

                   <EventTrigger.Actions>

                        <BeginStoryboard>

                            <Storyboard>

                               <DoubleAnimation Duration="0:0:0.2"Storyboard.TargetProperty="FontSize" To="60">

                               </DoubleAnimation>

                           </Storyboard>

                       </BeginStoryboard>

                   </EventTrigger.Actions>

                </EventTrigger>

                <EventTriggerRoutedEvent="Mouse.MouseLeave">

                    <EventTrigger.Actions>

                        <BeginStoryboard>

                            <Storyboard>

                               <DoubleAnimation Duration="0:0:0.2"Storyboard.TargetProperty="FontSize" To="40">

                               </DoubleAnimation>

                           </Storyboard>

                       </BeginStoryboard>

                   </EventTrigger.Actions>

                </EventTrigger>

           </Style.Triggers>

       </Style>

   </Window.Resources>

   <StackPanel>

       <TextBox Style="{StaticResourcetextBoxStyle}">TextBox</TextBox>

</StackPanel>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章