Mam pewnie nietrudny problem. Mam sobie projekt w windows forms i w nim System.Windows.Forms.Integration.ElementHost i w nim klasę z WPF która dziedziczy po UserControl.

To chyba nie istotne że wpf siedzi w formsach ale piszę dla pewności.

Tak czy inaczej problem jest w tym, mam tam jakąś kamerę i kilka modeli 3D. Teraz kiedy rozciągam panel ElementHost w formsach w pionie to w oknie widzę więcej elementów które były pod lub nad środkiem ekranu. Czyli widok jest rozciągany tak że gdyby brać współrzędne monitora to zmieniają się Y a X każdego elementu zostaje niezmieniony.

Natomiast przy rozciąganiu w poziomie - rozciągane są obie osie. Tzn zarówno X jak i Y się zmienia, ale nie dokładnie tak jak przy rozciąganiu w poziomie.

Rozciągając w pionie - widzę obiekty których wcześniej nie widziałem a były na górze lub na dole ekranu.
Rozciągając w poziomie - elementy zarówno po bokach jak i góra/dół zaczynają znikać bo robi się coś w stylu zooma.

Mam nadzieję że w miarę da się zrozumieć o co mi chodzi.

Moim celem jest osiągnąć takie cóś żebym mógł rozciągać w poziomie tak jak w pionie czyli tak żeby dotykało to jednej osi. Nie wiem czy to coś pomoże ale mam takie coś:

<UserControl x:Class="..."
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Height="800" Width="600"
    Name="...">
    <Grid Name="grid" MouseEnter="grid_MouseEnter" MouseMove="grid_MouseMove"> 
       ....
       <Viewport3D x:Name="viewPort" Grid.Column="0" Grid.Row="0" ClipToBounds="False">
       ...

Natomiast w formsach:
WPFPanle to klasa która dziedziczy po user control z WPF

 
this.hostControl = new System.Windows.Forms.Integration.ElementHost();
            this.userC = new WPFPanel();
            this.hostControl.Location = new System.Drawing.Point(10, 10);
            this.hostControl.Name = "SimulPanel";
            this.hostControl.Size = new System.Drawing.Size(800, 600);
            this.hostControl.TabIndex = 2;
            this.hostControl.Child = userC;
            this.Controls.Add(this.hostControl);
            this.hostControl.SizeChanged += hostPanelChanged;
            hostControl.Focus();

Zawsze to co mam uklepane w WPF wypełnia 100% hosta.