wpf ウィンドウの Loaded イベントをサブスクライブし、Loaded += loaded;
コード ビハインドでいくつかのコントロールの不透明度を変更しようとしました。メソッドでは、コントロールがまだ wpf によって描画されていない
ことに気付きました。loaded
したがって、コードは効果がなく、コントロールのレンダリングはメソッドが終了した後にのみ発生します。
Rendered
1)購読できる別のイベントなどはありますか?
編集: OnContentRendered イベントがあり、次のコードが機能することを発見しました:
アニメーションはおそらく好ましいですが。
protected override void OnContentRendered(EventArgs e)
{
base.OnContentRendered(e);
for (int i = 0; i < 100; i++)
{
Parentpanel.Opacity += 0.01;
Splashscreen.Opacity -= 0.01;
Dispatcher.Invoke(new Action(() => { }), DispatcherPriority.ContextIdle, null);
Thread.Sleep(50);
}
}
それ以外の場合は、おそらく、usercontrol1 の不透明度を 0.1 から 1.0 に、usercontrol2 の不透明度を 1.0 から 0.0 に変更するアニメーションを使用する必要があります。
2) そのようなアニメーションの例を知っていますか?