手遅れ SizeChanged
SizeChangedのイベントは、ちょっと届くのが遅いと思います。
本当の本当に、レイアウトパスも済んだところで届きます。うっかりこのタイミングで他のコントロールのサイズを上書きしてしまうと、またレイアウトパスが走ります。最悪、バインディングパスも走ります。
SizeChangedイベントを受けてから、それに合わせようとコントロールのサイズや位置を操作するのではなく、あくまでレイアウトパス内(あるいはバインディング、それ以前のユーザーコード)でこれらの処理をしなければ、無駄なレイアウトパスが何度も何度も走る羽目に陥ります。
MeasureとArrangeとUpdateLayoutのリファレンスコードを読んでから、このイベントをどう扱うべきか考えてください。