It's an old question, but I come by it often, so it's still relevant, so here is my solution:
What I do is:
a. When I want WPF view to match (dock) window size:
ElementHost eh = new ElementHost();
eh.Dock = System.Windows.Forms.DockStyle.Dock;
eh.AutoSize = true;
eh.Child = wpfView;
eh.CreateControl();
this.Controls.Add(eh);
this.AutoSize = false;
NOTE: You can set eh min size to have scrollbars, if form too small.
b: When I want the host Form to match the WPF View:
ElementHost eh = new ElementHost();
eh.Dock = System.Windows.Forms.DockStyle.None;
eh.AutoSize = true;
eh.Child = wpfView;
eh.CreateControl();
this.Controls.Add(eh);
this.AutoSize = true;
this.AutoSizeMode=AutoSizeMode.GrowAndShrink;