2

「デモモード」を追加する必要がある WPF プログラムがあります。毎回プログラムを再コンパイルせずにデザイナーがデモ モードを変更できるようにしたいので、外部 XAML ファイルからストーリーボードを使用するのは良い考えだと思います。「デモ モード」は基本的に、アプリケーションの依存関係プロパティの一部をアニメーション化するストーリーボードです。

アプリケーションの DP を公開するために、アプリケーションのクラスの public static メンバー (シングルトン) を作成して、アプリケーションの DP を常に外部から利用できるようにしました。この場合、ストーリーボードはそれらにアクセスします。

外部 XAML ファイルに、アプリケーションの名前空間/アセンブリを正しく参照する適切な xmlns を追加しました。したがって、理論的には、ストーリーボードでアプリケーションの DP にアクセスできるはずです。

問題は、オブジェクトが XAML で宣言/名前付けされていない場合に、ストーリーボードで静的オブジェクトの DP をアニメーション化する方法がわからないことです。ストーリーボード アニメーション フレームを宣言する場合、ストーリーボードの添付プロパティはStoryboard.TargetNameStoryboard.TargetPropertyだけです。

誰かが私を正しい方向に導くためのヒントを教えていただければ幸いです。

4

1 に答える 1

0

私はこれを試していませんが、実行可能であれば、次のようになると思います。

<Storyboard ..>
    <DoubleAnimation Storyboard.Target="{x:Static MyNS:MyClass.Singleton}" 
                     Storyboard.TargetProperty="MyProperty" .../>
</Storyboard>
于 2009-03-22T08:18:10.247 に答える