日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

WPF之触发器Triggers

發(fā)布時(shí)間:2023/12/3 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WPF之触发器Triggers 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Trigger觸發(fā)器:表示一個(gè)觸發(fā)器,它按單個(gè)條件應(yīng)用屬性值或執(zhí)行操作。

SourceName屬性:

獲取或設(shè)置與導(dǎo)致關(guān)聯(lián)的 setter 要應(yīng)用的屬性對(duì)象的名稱。

Property屬性:

設(shè)置需要判斷的屬性。

Value屬性:

設(shè)置判斷該屬性是否等于該值,若等于執(zhí)行setters操作

Setters屬性:

設(shè)置一組 Setter 對(duì)象,描述要應(yīng)用當(dāng)滿足指定的條件的操作。

EnterActions屬性:

獲取要在觸發(fā)器對(duì)象變?yōu)榛顒?dòng)狀態(tài)時(shí)應(yīng)用的 TriggerAction 對(duì)象的集合。

ExitActions屬性:

獲取要在觸發(fā)器對(duì)象變?yōu)榉腔顒?dòng)狀態(tài)時(shí)應(yīng)用的 TriggerAction 對(duì)象的集合。
Trigger普通用法:

<Style x:Key="Triggers" TargetType="Button"><Style.Triggers><Trigger Property="IsPressed" Value="true"><Setter Property = "Foreground" Value="Green"/></Trigger></Style.Triggers> </Style>

Trigger動(dòng)畫用法

<!--當(dāng)IsPressed屬性為true,改變透明度達(dá)到閃動(dòng)的效果 --> <Trigger Property="IsPressed" Value="true"><Trigger.EnterActions><BeginStoryboard x:Name="playAnimation"><Storyboard Storyboard.TargetName="FocusVisual" Storyboard.TargetProperty="Opacity"><DoubleAnimation AutoReverse="True" RepeatBehavior="Forever" To="1" Duration="0:0:1" /></Storyboard></BeginStoryboard></Trigger.EnterActions><!--停止閃動(dòng)動(dòng)畫--><Trigger.ExitActions><StopStoryboard BeginStoryboardName="playAnimation" /></Trigger.ExitActions></Trigger>

MultiTrigger 類:表示一個(gè)應(yīng)用屬性值或一組條件滿足時(shí)執(zhí)行操作的觸發(fā)器。

Conditions屬性:
設(shè)置 Condition 對(duì)象的集合。 對(duì)屬性更改時(shí)滿足所有集合中的條件時(shí)應(yīng)用。
Setters屬性:
設(shè)置一組 Setter 對(duì)象,描述要應(yīng)用當(dāng)滿足指定的條件的操作。

<Style.Triggers><Trigger Property="IsEnabled" Value="false"><Setter Property="Background" Value="#EEEEEE" /></Trigger><MultiTrigger><MultiTrigger.Conditions><Condition Property="HasItems" Value="false" /><Condition Property="Width" Value="Auto" /></MultiTrigger.Conditions><Setter Property="MinWidth" Value="120"/></MultiTrigger> </Style.Triggers>

DataTrigger 類:它會(huì)在綁定數(shù)據(jù)滿足指定條件時(shí)應(yīng)用屬性值或執(zhí)行操作。

Binding屬性:

獲取或設(shè)置產(chǎn)生數(shù)據(jù)對(duì)象的屬性值的綁定。

Value屬性:

設(shè)置判斷該屬性是否等于該值,若等于執(zhí)行setters操作

Setters屬性:

設(shè)置一組 Setter 對(duì)象,描述要應(yīng)用當(dāng)滿足指定的條件的操作。

EnterActions屬性:

獲取要在觸發(fā)器對(duì)象變?yōu)榛顒?dòng)狀態(tài)時(shí)應(yīng)用的 TriggerAction 對(duì)象的集合。

ExitActions屬性:

獲取要在觸發(fā)器對(duì)象變?yōu)榉腔顒?dòng)狀態(tài)時(shí)應(yīng)用的 TriggerAction 對(duì)象的集合。
DataTrigger普通用法:

<Style TargetType="ListBoxItem"><Style.Triggers><DataTrigger Binding="{Binding Path=State}" Value="WA"><Setter Property="Foreground" Value="Red" /></DataTrigger> </Style.Triggers></Style>

MultiDataTrigger 類:表示一個(gè)應(yīng)用屬性值或綁定的數(shù)據(jù)滿足一組條件時(shí)執(zhí)行操作的觸發(fā)器。

Conditions屬性:
獲取 Condition 對(duì)象的集合。 對(duì)屬性值更改時(shí)滿足所有集合中的條件時(shí)應(yīng)用。
Setters屬性:
獲取一套 Setter 對(duì)象,描述的屬性值時(shí)要應(yīng)用的條件的所有 MultiTrigger 滿足。
MultiDataTrigger普通用法:

<Window.Resources><c:Places x:Key="PlacesData"/><Style TargetType="ListBoxItem"><Style.Triggers><DataTrigger Binding="{Binding Path=State}" Value="WA"><Setter Property="Foreground" Value="Red" /></DataTrigger> <MultiDataTrigger><MultiDataTrigger.Conditions><Condition Binding="{Binding Path=Name}" Value="Portland" /><Condition Binding="{Binding Path=State}" Value="OR" /></MultiDataTrigger.Conditions><Setter Property="Background" Value="Cyan" /></MultiDataTrigger></Style.Triggers></Style> <StackPanel><TextBlock FontSize="18" Margin="5" FontWeight="Bold"HorizontalAlignment="Center">Data Trigger Sample</TextBlock><ListBox Width="180" HorizontalAlignment="Center" Background="Honeydew"ItemsSource="{Binding Source={StaticResource PlacesData}}"/> </StackPanel>

EventTrigger 類:表示一個(gè)觸發(fā)器,該觸發(fā)器應(yīng)用一組操作以響應(yīng)一個(gè)事件。

RoutedEvent屬性:

獲取或設(shè)置將激活該觸發(fā)器的 RoutedEvent。

SourceName屬性:

獲取或設(shè)置對(duì)象的名稱,該對(duì)象具有激活此觸發(fā)器的事件。 僅元素觸發(fā)器或模板觸發(fā)器可使用此名稱。

Actions屬性:

獲取事件發(fā)生時(shí)要應(yīng)用的操作的集合。

EnterActions屬性:

獲取要在觸發(fā)器對(duì)象變?yōu)榛顒?dòng)狀態(tài)時(shí)應(yīng)用的 TriggerAction 對(duì)象的集合。

ExitActions屬性:

獲取要在觸發(fā)器對(duì)象變?yōu)榉腔顒?dòng)狀態(tài)時(shí)應(yīng)用的 TriggerAction 對(duì)象的集合。

EventTrigger普通用法:

<Style TargetType="Rectangle"><Setter Property="Width" Value="50" /><Setter Property="Height" Value="50" /><Setter Property="Margin" Value="20" /><Setter Property="HorizontalAlignment" Value="Left" /><Style.Triggers><EventTrigger RoutedEvent="MouseEnter"><BeginStoryboard><Storyboard><DoubleAnimation To="300" Duration="0:0:1.5" AccelerationRatio="0.10" DecelerationRatio="0.25" Storyboard.TargetProperty="(Canvas.Width)" /></Storyboard></BeginStoryboard></EventTrigger><EventTrigger RoutedEvent="MouseLeave"><BeginStoryboard><Storyboard><DoubleAnimation Duration="0:0:1.5" AccelerationRatio="0.10" DecelerationRatio="0.25" Storyboard.TargetProperty="(Canvas.Width)" /></Storyboard></BeginStoryboard></EventTrigger></Style.Triggers> </Style>

總結(jié)

以上是生活随笔為你收集整理的WPF之触发器Triggers的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。