Fluent 動作的基本功能由計時、緩動、方向性和重力共同構成。 涉及其中一項時也必須將其他各項納入考慮,並在應用程式的內容中適當地套用。
以下是在應用程式中套用 Fluent 動態基本功能的 3 種方式。
-
隱含動畫
參數變更中的值之間的自動補間和計時,以使用標準化值達成非常簡單的 Fluent 動作。 -
內建動畫
系統元件,例如通用控件和共用動作,預設為 「Fluent」。。 基本原則的應用方式與其隱含的用法一致。 -
遵循指引建議的自定義動畫
有時候系統尚未提供您案例的確切動作解決方案。 在這些情況下,請使用基本建議作為您應用體驗的基準起點。
轉換範例
向外方向:
淡出:150米;Easing:預設加速 方向往前:
向上滑動150px:300ms; 緩動:預設減速
向後方向:
滑動向下 150px:150毫秒;緩動:預設加速 方向:向後進入
淡入:300ms; 緩動:預設減速
物件範例
擴展方向:
成長:300ms; 緩動:標準
方向合約:
成長:150ms; 緩動:預設加速
隱式動畫
隱式動畫是一種透過在參數變更期間,在新舊值之間自動插值來實現 Fluent 動態的簡單方法。
![]()
WinUI 3 圖庫應用程式包含互動式的 WinUI 控制項與功能範例。 你可以從 Microsoft Store下載 App,或在 GitHub 瀏覽原始碼。
您可以對以下屬性進行隱式動畫處理:
-
- 不透明度
- 旋轉
- Scale
- 翻譯
Border、 ContentPresenter 或 Panel
- 背景
每個可以隱含產生動畫變更的屬性都有對應的 轉換 屬性。 若要讓屬性產生動畫效果,您可以將轉換類型指派給對應的 轉換 屬性。 此表顯示每個轉換屬性及其使用的轉換類型。
此範例示範如何使用 Opacity 屬性和轉換,來使按鈕在啟用控制項時淡入並在停用控制項時淡出。
<Button x:Name="SubmitButton"
Content="Submit"
Opacity="{x:Bind OpaqueIfEnabled(SubmitButton.IsEnabled), Mode=OneWay}">
<Button.OpacityTransition>
<ScalarTransition />
</Button.OpacityTransition>
</Button>
public double OpaqueIfEnabled(bool IsEnabled)
{
return IsEnabled ? 1.0 : 0.2;
}