此方法由單擊事件觸發,效果很好,只是每隔一次調用此方法時整個計算機屏幕都會變黑(例如,第一次可以正常工作,第 2 次可以正常工作,第 3 次可以正常工作......) 一次我單擊它太頻繁 Windows 10 提示顯示驅動程序失敗并切換到 Windows 基本顯示(我正在使用雙屏)。此外,當它變黑時,光標會變成一個忙碌的標志和動畫故障。其他人有這個問題嗎? private async void oscillate()
{
SpringScalarNaturalMotionAnimation _springAnimation2= Window.Current.Compositor.CreateSpringScalarAnimation();
_springAnimation2.DampingRatio = 0.3f;
_springAnimation2.Period = TimeSpan.FromSeconds(0.02);
_springAnimation2.InitialValueExpressions["FinalValue"] = "0";
loginBody= ElementCompositionPreview.GetElementVisual(LoginBody);
loginBody.Offset = new System.Numerics.Vector3(-70, 0, 0);
loginBody.StartAnimation("Offset.X", _springAnimation2);
}
1 回答

Smart貓小萌
TA貢獻1911條經驗 獲得超7個贊
如果動畫正在運行,您應該切換到CompositionScopedBatch
并創建一個用于切換的字段。bool
然后注冊該Completed
活動以關閉您的字段。然后您可以檢查此字段以說明您是否可以運行動畫?;蛘吒挠米值洳⒈A魧赢嫷囊?,這樣您就可以在開始新動畫之前停止它。
https://learn.microsoft.com/en-us/uwp/api/windows.ui.composition.compositionbatchcompletedeventargs
- 1 回答
- 0 關注
- 107 瀏覽
添加回答
舉報
0/150
提交
取消