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
.