0

Silverlightに「OnPaint」メソッドのようなものはありますか?

C ++を書いていたとき、OnPaintイベントを使用して、画面に対するクラスの表示をカスタマイズするのは簡単であることがわかりました。

Silverlightに同等のものはありますか?UserControlが画面に表示されているときに何かをしたい場合、どのメソッドをオーバーライドしますか?

私はこの投稿に気づきました: C#WPF OnPaintメソッドの代替? ただし、Silverlightでは、UserControlクラスの「OnRender」メソッドはないようです。

4

3 に答える 3

2

OnPaintは回避策でした...コントロールの外観をカスタマイズできるようにするためです。これは、WinFormsアプリケーションのコントロールのデフォルトの外観をあまり制御できなかったためです。

すべてが変わるSilverlightを使用します。テンプレートスタイルを使用して、すべてのコントロールが効果的にスキンされるようになり、それらをカスタマイズする方法にいくつかの制限があります。リンクが多すぎるので、私はあなたのためにいくつかをつかみました。

Silverlightに関する優れた本を手に入れて、Silverlightを操作する適切な方法を学びましょう(周りではありません)。これは私のお気に入りの1つです。

ユーザーコントロールの外観など、特定のことを実行しようとしている場合は、代わりにそれらを一覧表示して、Silverlightの方法で実行するための最良の方法を見つけるのが最善です。:)

于 2011-08-01T19:07:37.297 に答える
0

何をしようとしているのか指定していません。フレームがいつレンダリングされているかを知りたいだけの場合は、CompositionTarget.Renderingイベントがそのことを通知します。レンダリングされているフレームに実際に描画したい場合は、それはできません。

于 2011-08-01T18:39:38.777 に答える
0

LayoutUpdatedです。のように:

...
            this.LayoutUpdated += new EventHandler(LayoutUpdated);

}

  void LayoutUpdated(object sender, EventArgs e)
{}
于 2011-08-02T00:01:17.893 に答える