現在、私はWindows.UI.Composition
名前空間で少し実験しています。ExpressionAnimationを使用してボタンのアニメーションが表示されない
var offsetAnimation = compositor.CreateExpressionAnimation();
offsetAnimation.SetReferenceParameter("ps", _propertySet);
offsetAnimation.Expression = "ps.myValue";
var buttonVisual = ElementCompositionPreview.GetElementVisual(testButton);
buttonVisual .StartAnimation("Offset.X", offsetAnimation);
_propertySet
ページに特異的である、myValue
他の方法から更新/追加されます。
ボタンのコード:
<Button x:Name="testButton" Background="Red" />
問題は、ボタンのOffset
が変化しないということである代わりに、何も起こりません。しかし、Opacity
またはScale
のいずれかのプロパティをアニメートすると、同じ式が機能しています。私はWebView
を私のページにも追加しました。ここにはOffset
が正しくアニメーションされています。
* KeyFrameAnimation *は解決策ではありません。「myValue」はユーザーの入力に基づいています。 –
ユーザー入力に基づいて、** newOffset **オブジェクトを作成できます。 offsetAnimationを作成してキャッシュします。 ** newOffset **を作成すると、 'offsetAnimation.InsertKeyFrame(1f、newOffset);を呼び出してキーフレームを設定できます。 – Ratish