Only subscribe to Paint to update the view (like before)
Don't override Eto's Control.Shown or SizeChanged event registration, it caused the view to be redrawn many multiple times (and broke those events).
Update the context during OnPaint() instead of calling OnResize to do the same as it has unintended side effects e.g. causes the view not to show initially.
Set the background of the WPF control to ControlBrush so it doesn't show unpainted areas when resizing.