原创 [WPF]總結一些我在開發WPF時常用的工具

我從一萬二千年前開始寫XAML,這麼多年用了很多各式各樣的工具,現在留在電腦裏的、現在還在用的、在寫WPF時用的也就那麼幾個。這篇文章總結了這些工具,希望這些工具可以讓WPF開發者事半功倍。 1. Visual Studio Visual

原创 [UWP]抄抄《CSS 故障藝術》的動畫

1. 前言 什麼是故障藝術(Glitch Art 風)?我們熟知的抖音的 LOGO 正是故障藝術其中一種表現形式。它有一種魔幻的感覺,看起來具有閃爍、震動的效果,很吸引人眼球。故障藝術它模擬了畫面信號出現故障導致成像錯誤的感覺。青色色塊與

原创 [Microsoft Teams]使用連接器接收Azure Devops的通知

1. 什麼是連接器 連接器(connector)是Teams中頻道的一個接受消息的功能,官方的解釋如下: 連接器允許用戶訂閱來自 web 服務的接收通知和消息。 它們公開服務的 HTTPS 終結點,通常以卡片形式發佈消息。 簡單來說就是

原创 [UWP]使用Win2D的BorderEffect實現圖片的平鋪功能

1. WPF有,而UWP沒有的圖片平鋪功能 在WPF中只要將ImageSource的TileMode屬性設置爲Tile即可實現圖片的平鋪,具體可見WPF的這些文檔: ImageBrush 類 (System.Windows.Media) _

原创 [UWP]使用CompositionGeometricClip裁剪複雜圖形及進行動畫

1. UWP中的其它裁剪方案 之前在 這篇文章 裏,我介紹瞭如何使用UIElement.Clip裁剪UIElement的內容,使用代碼如下: <Canvas> <Image Source="Images/Water_lilies.j

原创 [UWP]在應用退出時彈出確認提示框

1. 需求 在應用退出時(點擊右上角的關閉按鈕)彈出一個確認按鈕可以說是一個最常見的操作了,例如記事本的“你是否保存”: 但這個功能在UWP上居然有點小複雜。這篇文章將解釋如何實現這個功能。 2. CloseRequested 爲了監視應

原创 [UWP]用畫中畫模式(CompactOverlay Mode)讓用總在最前端顯示

1. 什麼是,以及怎麼用畫中畫 Windows 10 Creators Update以後UWP提供了一個新的視圖模式CompactOverlay,中文翻譯成 緊湊的覆蓋層?反正大部分時間我們都會稱它爲畫中畫模式。 上圖中右上角即爲進入畫中

原创 [UWP]通過自定義XamlCompositionBrushBase實現圖片平鋪

1. 什麼是XamlCompositionBrushBase 我早就想試試自定義XamlCompositionBrushBase,但一直沒機會。上一篇文章介紹到使用Win2D的BorderEffect實現圖片的平鋪功能,原理很簡單,但每次都

原创 [UWP]UIElement.Clip雖然殘廢,但它還可以這樣玩

1. 複習一下WPF的UIElement.Clip 用了很久很久的WPF,但幾乎沒有主動用過它的Clip屬性,我只記得它很靈活,可以裁剪出多種形狀。在官方文檔複習了一下,大致用法和效果如下: <Image Source="sample

原创 [UWP]使用CompositionAPI的翻轉動畫

1. 運行效果 在 使用GetAlphaMask和ContainerVisual製作長陰影(Long Shadow) 這篇文章裏我介紹了一個包含長陰影的番茄鍾,這個番茄鍾在狀態切換時用到了翻轉動畫,效果如上所示,還用到了彈簧動畫,可以看到

原创 [UWP]使用SpringAnimation創建有趣的動畫

1. 什麼是自然動畫 最近用彈簧動畫(SpringAnimation)做了兩個番茄鍾,關於彈簧動畫官方文檔已經介紹得夠詳細了,這篇文章就摘錄一些官方文檔核心內容。 在傳統UI中,關鍵幀動畫(KeyFrameAnimation)是描述運動的主

原创 [UWP]爲番茄鍾應用設計一個平平無奇的狀態按鈕

1. 爲什麼需要設計一個狀態按鈕 OnePomodoro應用裏有個按鈕用來控制計時器的啓動/停止,本來這應該是一個包含“已啓動”和“已停止”兩種狀態的按鈕,但我以前在WPF和UWP上做過太多StateButton、ProgressButto

原创 [UWP]使用GetAlphaMask製作陰影

1. 前言 最近常常接觸到GetAlphaMask,所以想寫這篇文章介紹下GetAlphaMask怎麼使用。其實GetAlphaMask的使用場景十分有限,Github上能搜到的內容都是用來配合DropShadow的,所以這篇文章也以介紹D

原创 [UWP]CompositionLinearGradientBrush加BlendEffect

1. 什麼是BlendEffect 上一篇文章介紹了CompositionLinearGradientBrush的基本用法, 這篇文章再結合BlendEffec介紹一些更復雜的玩法。 Microsoft.Graphics.Canvas.Ef

原创 [UWP]佔領標題欄

1. 前言 每一個有理想的UWP應用都會打標題欄的主意,尤其當微軟提供 將 Acrylic 擴展到標題欄 這個功能後,大部分Windows 10的原生應用都不乖了,紛紛佔領了標題欄的一畝三分地。這篇博客將介紹在UWP中如何自定義標題欄。 2