2011-08-01 17 views
0

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

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

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

私はこの記事に気づいた: C# WPF OnPaint method alternative? が、Silverlightで、THREは、ユーザーコントロールのクラスには、「OnRender」方法ではないようです。

+1

OnRenderはSilverlightには存在しません。これは私のコードのいくつかをそれに変換できない理由の1つです。 –

+0

このようなメソッドの存在は、使用しているプログラミング言語とは何の関係もないことにご存知ですか?あなたがC#からアクセスできるOnPaintメソッドがあった場合は、VB.NETや他の.NET言語からも使用できます。 –

+2

達成しようとしている*具体的なものはありますか? – Gabe

答えて

2

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

すべてが変更されています。 templatesstylesを使用すると、すべてのコントロールが効果的にスキンされ、カスタマイズ方法にはほとんど制限がありません。私はちょうどあなたのためのカップルをつかんだので、あまりにも多くのリンクがあります。

Silverlightに関する良い本を手に入れ、適切な方法でそれを使って作業してください。 This oneは私のお気に入りの一つです。

あなたがやろうとしている特定のことがある場合は、ユーザーコントロールの外観に合わせて、代わりにそれらをリストし、最良の方法を見つけてください。Silverlightの方法 :)

+0

+1ですが、私はそれを__Using__ OnPaintに__customise__すると、__existing__コントロールの外観はハックです。 OnPaintは一般的に、新しい元の個別コントロールのUIを描画するための正しい場所です。 – AnthonyWJones

+0

@AnthonyWJones:ちょうど詩的なライセンス...削除されました:) –

0

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

0

LayoutUpdatedです。 as:

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

} 

    void LayoutUpdated(object sender, EventArgs e) 
{} 
関連する問題