I would like an expanding panel in my Windows Forms app. I was having a look to see if this would be possible using the WPF Expander control. I\'ve created a Xaml UserControl wh
Yes. You need to override MeasureOverride in your outermost WPF control, convert the size from WPF coordinates to device coordinates, and update ElementHost.Size.
Since you are already subclassing Expander:
MeasureOverride methodPresentationSource.From(visual).CompositionTarget.TransformToDevice.Transform(point) to get the device coordinatesElementHost.Size.Your Expander subclass instance will need a pointer to ElementHost to do this.
A more general solution would be to create a new class to handle the synchronization. It would subclass FrameworkElement and be the direct child of ElementHost.