WPF中的觸發器(Trigger)


這節來講一下WPF中的觸發器——Trigger。觸發器,是指在既定條件或者特殊場景下被觸發,從而去執行一個操作。在WPF中,觸發器可以分為以下幾類:基本觸發器(Trigger);事件觸發器(EventTrigger);數據觸發器(DataTrigger);多條件觸發器(MultiTrigger,MultiDataTrigger)。下面我們來通過代碼一一了解。

1
基本觸發器(Trigger)

請看如下代碼:

我為Slider控件的樣式設置了一個基本觸發器,需要關注的是Trigger的Property和Value,Property設置要根據Slider控件的哪個屬性觸發,Value設置當屬性為何值時觸發,在Setter中也有Property和Value,此處則是設置觸發時要執行的操作,上述觸發器的作用時當Slider的Value為1時,設置其背景為純綠色:運行效果如下:

設置了兩個Slider作對比,當Slider值為1時,觸發器被觸發,背景色也進行了對應修改。

當我們想監視多個屬性的值來控制觸發器的執行,可以使用MultiTrigger,請看如下代碼:

 多屬性觸發器,需要將多個觸發條件寫在MultiTrigger.Conditions中,其它用法都是一致的,上述代碼中,當Slider的Value為1並且樣式為垂直的時候,觸發器才會觸發,運行結果如下:

 

2
事件觸發器(EventTrigger)

請先看如下代碼:

事件觸發器有些不同的是,它觸發執行的是一段動畫,並且是通過RoutedEvent來執行要監視的事件,上述代碼中,當Button的MouseEnter事件被觸發時,其前景色會逐漸變成紫色,請看運行結果:

(關於WPF動畫的相關知識,會在下節講述,請關注后續文章。)

 

3
數據觸發器(DataTrigger)

請看如下代碼:

 我們還是以修改Slider背景色為例子,數據觸發器使用Binding來設置要監視的對象,其結果跟示例1一致,此處不再展示,除了綁定一個數據,也可以通過MultiDataTrigger來綁定多個數據,當多個數據同時滿足條件時才觸發:

多數據觸發器,需要將多個觸發條件寫在MultiDataTrigger.Conditions中,其它用法都是一致的,上述代碼中,當Slider的Value為1並且最大值為1的時候,觸發器才會觸發,運行結果如下:

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM