有朋友問到,能不能幫StackPanel加上MouseEnter/MouseLeave時會改變其背景的效果,其實,這個功能並不難喔!!
只要簡單的修改StackPanel的Style就可以了~
有朋友問到,能不能幫StackPanel加上MouseEnter/MouseLeave時會改變其背景的效果,其實,這個功能並不難喔!!
只要簡單的修改StackPanel的Style就可以了~
我們先來看看成品:
如果手邊有Expression Blend的話,那就更是如虎添翼啦!!因為在Expression Blend中要處理色彩動畫非常的簡單方便,所以我就直接以改變背景色的StackPanel為例:
首先在我們要編輯Style的StackPanel上按下滑鼠右鍵,接著選取Edit Style -> Create Empty。
給我們要建立的新樣式一個名稱後,按下OK鈕。
接著透過Triggers面版,按+Event鈕兩次以新增兩個EventTrigger。
依次點選該兩個EventTrigger,並且分別修改觸發條件的Event為MouseEnter和MouseLeave。
依次為兩個EventTrigger加入事件觸發後的動作(按下右邊的+號)
接著Expression Blend會自動問我們是否要建立新動畫,按下OK鈕。
再來就可以透過平常設定動畫的方式,設定事件觸發時會執行的動畫啦(例如我設定0.5秒之後,背景色會變為較淺的灰色)~
分別針對我們建立的兩個EventTrigger設定好對應的動畫,就大功告成囉!!
不過,要透過Expression Blend來達到在Storyboard中更改StackPanel的背景圖的話,會比較吃力,我就不在這邊詳述過程了。建議直接撰寫Xaml會比較快喔!!
完成以上範例的Xaml如下:
最後,免不了的專案原始碼,請自行服用: