現在、Silverlightで、要素のサイズの変更を検出してそれに対応したいという問題があります。ただし、の機能が呼び出される前に、変更するサイズの要素がフラッシュされることが多いため、実際には、で聞くだけで.SizeChanged
は不十分です。.SizeChanged
ですから、おそらく2つの質問があります。
私の意図は、サイズが視覚的に変更される前に、メジャーパスを使用して適用する操作を計算し、このちらつきの影響を排除できるようにすることです。私の知る限り、これを正常に行う唯一の方法は、これらの要素の残りを測定する前に、Measureパスでこれらの計算を行うUIElementを作成することです。
そのため、FrameworkElementを拡張して、非常に軽量なUIElementを作成したいと考えていました。 しかし、私は愚かなことを何も表示することができません。FrameworkElementレベルでは、サブクラスでVisualTreeにコンテンツを追加する必要があり、その方法を理解できないようです。
私は、必要なものよりもはるかに重いので、拡張することを避けたいと思っていましUserControl
た。Panel
メジャーパスをキャッチして、そこで作業を実行したいだけです。
FrameworkElement
では、 Silverlight 4.0で拡張して、実際に何かをレンダリングすることは可能ですか?そうでない場合、別の方法でメジャーパスをリッスン/中断することは可能ですか?