Keeping correct XAML layout when browser is resized
<p>I have a XAML window that the layout is done using a main grid. The problem is when the browser is resized the controls in the second and third columns move to the right and the window's layout is no longer correct. I have pasted the XAML below. I think the layout of a WPF window should be grid based with all controls residing in the window's master grid. Is this the proper layout design for WPF or is there a different recommended layout pattern?</p>

<p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
<div class="snippet-code">
<pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;Window x:Class="MasterPage.Intake1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:v="clr-namespace:MasterPage.View"
    Title="Intake 1" Height="900" Width="1000" Background="#FFD9DDE8" &gt;
        &lt;Grid&gt;
            &lt;Grid.RowDefinitions&gt;
                &lt;RowDefinition Height="35*"/&gt;
                &lt;RowDefinition Height="45*"/&gt;
                &lt;RowDefinition Height="190*"/&gt;
                &lt;RowDefinition Height="275*"/&gt;
        &lt;/Grid.RowDefinitions&gt;
            &lt;Grid.ColumnDefinitions&gt;
                &lt;ColumnDefinition Width="500*"/&gt;
                &lt;ColumnDefinition Width="300*"/&gt;
                &lt;ColumnDefinition Width="250*"/&gt;
            &lt;/Grid.ColumnDefinitions&gt;
            
       &lt;StackPanel Grid.Column="0" Grid.ColumnSpan="3" Grid.Row="0"&gt;
            &lt;Image Source="Images\header.jpg" Height="47" Margin="0,0,0,0" /&gt;
      &lt;/StackPanel&gt;
      &lt;StackPanel HorizontalAlignment="Left" Grid.Column="0" Height="80"  Width="350" Grid.ColumnSpan="1" Grid.Row="1"  Margin="0,-23,0,0"&gt;
            &lt;Image Source="Images\DSPASS_logo.png" Stretch="Fill" DockPanel.Dock="Top" Height="70" /&gt;
      &lt;/StackPanel&gt;
        &lt;StackPanel Grid.Column="4" Grid.Row="1" Grid.ColumnSpan="1" Margin="0,0,0,0"&gt;
        &lt;TextBlock FontSize="15" Margin="0,0,0,0" Height="25" Width="300" TextWrapping="WrapWithOverflow"&gt;
            &lt;Label FontSize="10" Name="Namelabel" Width="250" FontWeight="Bold" Foreground="#1664A1" Content="Welcome to DS PASS:"/&gt;               
        &lt;/TextBlock&gt;
      &lt;/StackPanel&gt;
        &lt;StackPanel Grid.Column="0" Grid.Row="2" HorizontalAlignment="Left" Margin="10,10,0,0" Height="290" Width="975" VerticalAlignment="Top" Grid.ColumnSpan="3" Grid.RowSpan="1"&gt;
            &lt;Label Height="36" FontSize="16" Content="Post Identification" Background="#FF014E7E" FontWeight="Bold" Foreground="White" Margin="-5,0,-18,0"/&gt;
            &lt;StackPanel x:Name="_wordLength" Orientation="Horizontal" Margin="235,0,200,0"&gt;
                &lt;TextBlock Height="20" x:Name="ApplicantType_TextBlock" Text="Applicant Type" Width="110" Margin="5" TextAlignment="Right"/&gt;
                &lt;ComboBox Height="25" x:Name="textBoxWordLength" Width="400" Margin="10,5"/&gt;
            &lt;/StackPanel&gt;
            &lt;StackPanel x:Name="_integerWordLength" Orientation="Horizontal" Margin="235,0,200,0"&gt;
                &lt;TextBlock Height="20" x:Name="textBlockIntegerWordLength" Text="Person Type" Width="110" Margin="5" TextAlignment="Right"/&gt;
                &lt;ComboBox Height="25" x:Name="textBoxIntegerWordLength" Width="400" Margin="10,5"/&gt;
            &lt;/StackPanel&gt;
            &lt;StackPanel x:Name="_Post" Orientation="Horizontal" Margin="235,0,200,20"&gt;
                &lt;TextBlock Height="20" x:Name="Post_TextBlock" Text="Post" Width="110" Margin="5" TextAlignment="Right"/&gt;
                &lt;ComboBox Height="25" x:Name="Post_TextBox" Width="400" Margin="10,5"/&gt;
            &lt;/StackPanel&gt;
        &lt;/StackPanel&gt;
        &lt;StackPanel Grid.Column="0" Grid.Row="3" HorizontalAlignment="Left" Height="130" Margin="15,-120,0,0" VerticalAlignment="Top" Grid.ColumnSpan="3" &gt;
            &lt;Label Height="36" FontSize="16" Content="Applicant Employment" Background="#FF004A78" FontWeight="Bold" Foreground="White" Margin="-5,0,-18,0"/&gt;
                    &lt;StackPanel x:Name="_max1" Orientation="Vertical" Margin="1,0,355,0"&gt;
                        &lt;TextBlock Height="20" x:Name="maxTextBlock1" Text="Employee ID" Width="100" Foreground="Black" Margin="0,15,459,5" TextAlignment="Right"/&gt;
                        &lt;TextBox Height="25" x:Name="maxTextBox1" Width="400" Margin="0,-5,90,25"/&gt;
                    &lt;/StackPanel&gt;
        &lt;/StackPanel&gt;
        &lt;StackPanel Grid.Column="0" Grid.Row="4" Grid.ColumnSpan="3" Orientation="Vertical" HorizontalAlignment="Left" Height="330" Margin="0,10,0,0" VerticalAlignment="Top" Width="965" Grid.RowSpan="2"&gt;
                &lt;Label Height="36" FontSize="16" Content="English Version of Name" Background="#FF005183" Grid.Row="4" FontWeight="Bold" Margin="10,10,0,0" Foreground="White" Padding="4,5,5,5"/&gt;
                    &lt;StackPanel x:Name="_LastName" Orientation="Vertical"&gt;
                    &lt;TextBlock Height="20" x:Name="LastName_TextBlock" Text="Last Name/Surname" Margin="55,5,459,5" TextAlignment="Left"/&gt;
                    &lt;TextBox Height="25" x:Name="LastName_TextBox" Width="500" Margin="55,5,459,5"/&gt;
                    &lt;/StackPanel&gt;
                    &lt;StackPanel x:Name="_FirstName" Orientation="Vertical"&gt;
                    &lt;TextBlock Height="20" x:Name="FirstName_TextBlock" Text="First Name" Margin="55,0,459,0" TextAlignment="Left"/&gt;
                    &lt;TextBox Height="25" x:Name="FirstName_TextBox" Width="500" Margin="55,0,459,0"/&gt;
                    &lt;/StackPanel&gt;
                    &lt;StackPanel x:Name="_MiddleName" Orientation="Vertical"&gt;
                        &lt;TextBlock Height="20" x:Name="MiddleName_TextBlock" Text="Middle Name" Margin="55,5,459,5" TextAlignment="Left"/&gt;
                    &lt;TextBox Height="25" x:Name="MiddleName_TextBox" Width="500" Margin="55,5,459,5"/&gt;
                    &lt;/StackPanel&gt;
                    &lt;StackPanel x:Name="_ExtendedName" Orientation="Vertical"&gt;
                        &lt;TextBlock Height="20" x:Name="ExtendedName_TextBlock" Text="Extended name (Tribal, Jr., III, etc.)" Margin="55,5,372,5" TextAlignment="Left"/&gt;
                    &lt;TextBox Height="25" x:Name="Extended_TextBox" Width="500" Margin="55,5,459,5"/&gt;
                    &lt;/StackPanel&gt;
                &lt;/StackPanel&gt;
                &lt;StackPanel Grid.RowSpan="4" Grid.Column="4" HorizontalAlignment="Left" Height="230" Margin="-250,400,0,0" Width="480" Grid.ColumnSpan="1"&gt;
                    &lt;StackPanel x:Name="_Aliases" Orientation="Vertical" Margin="-15,0,0,0" Height="144"&gt;
                        &lt;TextBlock Height="20" x:Name="Aliases_TextBlock" Text="Aliases" Margin="40,-5,0,5" TextAlignment="Left"/&gt;
                        &lt;TextBox Height="25" x:Name="Aliases_TextBox" Width="500" Margin="43,5"/&gt;
                        &lt;TextBox Height="25" x:Name="Aliases_TextBox1" Width="500" Margin="43,5"/&gt;
                        &lt;TextBox Height="25" x:Name="Aliases_TextBox2" Width="500" Margin="43,5"/&gt;
                    &lt;/StackPanel&gt;
        &lt;/StackPanel&gt;

        &lt;!--&lt;Label HorizontalAlignment="Left" Margin="4,132,0,0" Grid.Row="3" VerticalAlignment="Top" Background="#FF72C772" Grid.ColumnSpan="3" Width="1242" Height="36"/&gt;
        &lt;Button Content="Continue" Grid.Column="2" HorizontalAlignment="Left" Margin="16,139,0,0" Grid.Row="3" VerticalAlignment="Top" Width="125" Click="Page1_Continue_Click"/&gt;
        &lt;Button Content="Save Draft" Grid.Column="1" HorizontalAlignment="Left" Margin="336,139,0,0" Grid.Row="3" VerticalAlignment="Top" Width="125"/&gt;--&gt;
        &lt;Label HorizontalAlignment="Left" Margin="4,400,0,0" Grid.Row="4" VerticalAlignment="Top" Background="#FF52BB52" Grid.ColumnSpan="3" Width="983" Height="36"&gt;
        &lt;/Label&gt;
        &lt;Button Content="Save Draft" Grid.Column="1" HorizontalAlignment="Left" Margin="150,408,0,0" Grid.Row="5" VerticalAlignment="Top" Width="125" /&gt;
        &lt;Button x:Name="ContinueButton_Page2" Content="Continue" Grid.Column="1"  Width="125" Grid.Row="5" VerticalAlignment="Top"  Margin="200,408,0,0" Grid.ColumnSpan="2" Click="btnContinue_Click"/&gt;
    &lt;/Grid&gt;
&lt;/Window&gt;</code></pre>
</div>
</div>
</p>