日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

【转】【WPF】WPF样式(Style)—触发器

發布時間:2025/4/9 asp.net 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】【WPF】WPF样式(Style)—触发器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

樣式(Styles)由三部分構成:設置器(Setter)、觸發器(Triggers)、資源(Resources)。

(1)觸發器,讓樣式的使用更加準確、靈活和高效。

(2)觸發器(Triggers)主要分為三類,屬性觸發器(檢查從屬屬性即WPF元素自身屬性)、數據觸發器(檢查任意可綁定的屬性)、事件觸發器(用于監聽事件)。

屬性觸發器

  檢查從屬屬性的值,即WPF元素自身屬性。比如按鈕的內容、字體的大小、顏色等等。

<Window.Resources><Style TargetType="Button"><Style.Triggers><Trigger Property="Content" Value="按鈕"><Setter Property="ToolTip" Value="這是一個按鈕"> </Setter></Trigger></Style.Triggers></Style></Window.Resources>

多屬性觸發器

<Window.Resources><Style TargetType="Button"><Style.Triggers><Trigger Property="Content" Value="按鈕"><Setter Property="ToolTip" Value="這是一個按鈕"></Setter></Trigger><Trigger Property="Content" Value="Button"><Setter Property="ToolTip" Value="This is a button"></Setter></Trigger></Style.Triggers></Style></Window.Resources>

?

多條件屬性觸發器?

<Window.Resources><Style TargetType="Button"><Style.Triggers><MultiTrigger><!--條件列表--><MultiTrigger.Conditions><Condition Property="Content" Value="按鈕"></Condition><Condition Property="Visibility" Value="Visible"></Condition></MultiTrigger.Conditions><!--樣式--><Setter Property="ToolTip" Value="這是一個可見按鈕"></Setter></MultiTrigger></Style.Triggers></Style></Window.Resources> 數據觸發器

可以檢查任意可綁定的屬性,比如CLR對象屬性、XPath聲明等。相對于屬性觸發器,數據觸發器通常用來檢查不可見的對象屬性。

<Window.Resources><Style TargetType="Button"><Style.Triggers><DataTrigger Binding="{Binding Path=Name}" Value="李寶亨"><Setter Property="Foreground" Value="Tomato"/></DataTrigger></Style.Triggers></Style></Window.Resources><Grid><Button Content="{Binding Path=Name}" Height="23" Margin="103,94,120,84" Name="button1" Width="75"/></Grid> 定義的Person類 public partial class MainWindow : Window{public MainWindow(){InitializeComponent();DataContext = new Person("李寶亨","21"); }class Person{string _Name;public string Name{get { return _Name; }set { _Name = value; }}string _Age;public string Age{get { return _Age; }set { _Age = value; }}public Person(string name,string age){_Name = name;_Age = age;}}} 多條件數據觸發器 <Window.Resources><Style TargetType="Button"><Style.Triggers><MultiDataTrigger><!--條件列表--><MultiDataTrigger.Conditions><Condition Binding="{Binding Path=Name}" Value="李寶亨"/><Condition Binding="{Binding Path=Age}" Value="21"/></MultiDataTrigger.Conditions><Setter Property="Foreground" Value="Tomato"/></MultiDataTrigger></Style.Triggers></Style></Window.Resources><Grid><Button Content="{Binding Path=Name}" Height="23" Margin="103,94,120,84" Name="button1" Width="75"/></Grid> 事件觸發器

事件觸發器用來監聽事件。當一個事件發生時,事件觸發器就會引發相關的動畫事件來進行響應。

<Window.Resources><Style TargetType="Button"><Style.Triggers><!--事件觸發器--><EventTrigger RoutedEvent="MouseEnter"><BeginStoryboard><Storyboard><DoubleAnimation Storyboard.TargetProperty="Opacity" From="1" To="0.1" Duration="0:0:3"></DoubleAnimation></Storyboard></BeginStoryboard></EventTrigger></Style.Triggers></Style></Window.Resources>

原文地址:http://tianzengyan.blog.163.com/blog/static/1675840912012920105524490/

轉載于:https://www.cnblogs.com/mqxs/p/5489237.html

總結

以上是生活随笔為你收集整理的【转】【WPF】WPF样式(Style)—触发器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。