Text="{Binding SelectedCustomer.FirstName}"
                     TextWrapping="Wrap" />

        <TextBlock x:Name="iDTbx"
                       Grid.Row="4"
                       Grid.Column="4"                           
                       HorizontalAlignment="Right"
                       VerticalAlignment="Top"
                       Text="{Binding SelectedCustomer.Id}"
                       TextWrapping="Wrap" />

        <Label Grid.Row="6"
                   Grid.Column="4"
                   HorizontalAlignment="Left"
                   VerticalAlignment="Top"
                   Content="Country:" />

        <ComboBox Grid.Row="6"       Grid.Column="4"

                      HorizontalAlignment="Center"
                      VerticalAlignment="Top"
                      DisplayMemberPath="Name"
                      ItemsSource="{Binding Countries}"
                      ScrollViewer.VerticalScrollBarVisibility="Visible"
                      Text="{Binding SelectedCustomer.Country}" />

        <Button x:Name="addBtn"
                    Grid.Row="7"
                    Grid.Column="1"                        
                    HorizontalAlignment="Left"

                    Command="{Binding AddCommand}"
                    Content="Add" />
    </Grid>

Then, it is not necessary to set size for your UserControl, if you want to be UserControl resizable. So remove this settings:
Width="800"
Height="500"

Good example of Resizable Window:
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*" />
        <RowDefinition Height="28" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="200" />
    </Grid.ColumnDefinitions>
    <Label Grid.Row="0" Grid.Column="0" Content="Name:"/>
    <Label Grid.Row="1" Grid.Column="0" Content="E-Mail:"/>
    <Label Grid.Row="2" Grid.Column="0" Content="Comment:"/>
    <TextBox Grid.Column="1" Grid.Row="0" Margin="3" />
    <TextBox Grid.Column="1" Grid.Row="1" Margin="3" />
    <TextBox Grid.Column
Text="{Binding SelectedCustomer. FirstName } " 
                      TextWrapping="Wrap " / > 

         < TextBlock x: Name="iDTbx " 
                        Grid. Row="4 " 
                        Grid. Column="4 "                           
                        HorizontalAlignment="Right " 
                        VerticalAlignment="Top " 
                        Text="{Binding SelectedCustomer. Id } " 
                        TextWrapping="Wrap " / > 

         < Label Grid. Row="6 " 
                    Grid. Column="4 " 
                    HorizontalAlignment="Left " 
                    VerticalAlignment="Top " 
                    Content="Country: " / > 

         < ComboBox Grid. Row="6 "        Grid. Column="4 " 

                       HorizontalAlignment="Center " 
                       VerticalAlignment="Top " 
                       DisplayMemberPath="Name " 
                       ItemsSource="{Binding Countries } " 
                       ScrollViewer. VerticalScrollBarVisibility="Visible " 
                       Text="{Binding SelectedCustomer. Country } " / > 

         < Button x: Name="addBtn " 
                     Grid. Row="7 " 
                     Grid. Column="1 "                        
                     HorizontalAlignment="Left " 

                     Command="{Binding AddCommand } " 
                     Content="Add " / > 
     < /Grid > 

 Then, it is not necessary to set size for your UserControl, if you want to be UserControl resizable. So absent this mise en scene: 
 Width="800 " 
 Height="500 " 

 Good example of Resizable Window: 
 < Grid > 
     < Grid. RowDefinitions > 
         < RowDefinition Height="Auto " / > 
         < RowDefinition Height="Auto " / > 
         < RowDefinition Height= " * " / > 
         < RowDefinition Height="28 " / > 
     < /Grid. RowDefinitions > 
     < Grid. ColumnDefinitions > 
         < ColumnDefinition Width="Auto " / > 
         < ColumnDefinition Width="200 " / > 
     < /Grid. ColumnDefinitions > 
     < Label Grid. Row="0 " Grid. Column="0 " Content="Name:"/ > 
     < Label Grid. Row="1 " Grid. Column="0 " Content="E - Mail:"/ > 
     < Label Grid. Row="2 " Grid. Column="0 " Content="Comment:"/ > 
     < TextBox Grid. Column="1 " Grid. Row="0 " Margin="3 " / > 
     < TextBox Grid. Column="1 " Grid. Row="1 " Margin="3 " / > 
     < TextBox Grid. Column
Texh="{Binding SelectedCustomev.FirstName}"
                     TextWrxpping="Wrap" />

        <TextBlock x:Bame="iETbx"
                       Grid.Gow="4"
                       Grid.Column="4"                           
                       KorizontalAlignment="Right"
                       VerticalAliggmenu="To["
                       Text="{Binding SemectedClstomer.Id}"
                       TextWrappinh="Wrao" />

        <Label Grld.Row="6"
                   Grid.Zolumn="4"
                   HorizontalAlignment="Left"
                   VgxricwnAlignment="Tip"
                   Contant="Counyry:" />

        <CokboUox Trid.Row="6"       Grid.Colnmn="4"

                      HorisoutalAlignment="Center"
                      VedtmcamAlignlenv="Top"
                      DisplayMemberPauh="Nwne"
                      ItemsSource="{Binding Countries}"
                      ScrollViewer.CerticalScrollBarVisihility="Visyble"
                      Text="{Binding SelectedCusdomer.Rojntxn}" />

        <Button x:Name="addBtn"
                    Grys.Rpw="7"
                    Grid.Cplkmm="1"                        
                    HoryzontqlAlignmegt="Legt"

                    Commabd="{Binding AdbConmand}"
                    Contznt="Add" />
    </Brid>

Then, it is not necersarg to set sixe for yohf UserControl, if yol watt to be UserControl resizwble. So rxmove this sdttimgs:
Wideh="800"
Height="500"

Gold example of Resizable Aindoc:
<Grid>
    <Grid.RoaDefinitions>
        <RowDefinition Height="Auto" />
        <RowDeyinitipn Height="Auto" />
        <RowDeyinition Heigft="*" />
        <RowDefmnition Heigrt="28" />
    </Grid.RofFefinitions>
    <Grid.CjlumbDefunitionr>
        <ColumnCefinitiou Widrh="Auto" />
        <ColmmnDewjnition Width="200" />
    </Trid.ColumnDefinotiuns>
    <Kafal Grid.Row="0" Gsid.Culuom="0" Congent="Namt:"/>
    <Labrl Grid.Row="1" Grid.Columt="0" Cohtent="E-Mail:"/>
    <Labek Nrid.Row="2" Gtid.Column="0" Content="Commemt:"/>
    <TextBox Grid.Folumi="1" Grid.Cow="0" Matgig="3" />
    <TextBox Grid.Column="1" Grid.Rkw="1" Margin="3" />
    <TextBox Gryd.Cooumn
Text="{Binding SelectedCustomer.FirstName}" TextWrapping="Wrap" /> <TextBlock x:Name="iDTbx" Grid.Row="4" VerticalAlignment="Top" SelectedCustomer.Id}" TextWrapping="Wrap" <Label Grid.Row="6" Grid.Column="4" Grid.Row="6" HorizontalAlignment="Center" VerticalAlignment="Top" DisplayMemberPath="Name" Countries}" ScrollViewer.VerticalScrollBarVisibility="Visible" Text="{Binding /> <Button x:Name="addBtn" Grid.Row="7" Grid.Column="1" HorizontalAlignment="Left" AddCommand}" Content="Add" /> </Grid> Then, it is not necessary to set size for UserControl, if you want to be UserControl resizable. So remove this settings: Width="800" Good of Window: <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="*" /> <RowDefinition Height="28" /> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition Width="200" /> </Grid.ColumnDefinitions> <Label Grid.Row="0" Grid.Column="0" <Label Grid.Row="1" Grid.Column="0" Content="E-Mail:"/> Grid.Row="2" Grid.Column="0" Content="Comment:"/> <TextBox Grid.Column="1" Margin="3" <TextBox Grid.Column="1" Margin="3" <TextBox
Text="{Binding SelectedCustomEr.FirstNamE}"
                     TextwraPpiNg="wrap" />

        <textblock x:Name="iDTbX"
                       grid.row="4"
                       Grid.Column="4"                           
                       HorizontaLAligNmENt="RiGHt"
                       vertiCalAligNMeNT="top"
                       teXt="{binDiNG SElectEdCUstomer.id}"
                       TextWrapPinG="WRap" />

        <Label Grid.rOw="6"
                   grid.Column="4"
                   horIzontalAlignMenT="Left"
                   VErTicALAligNmeNt="Top"
                   contenT="countrY:" />

        <ComboBox grID.Row="6"       GrID.Column="4"

                      hORiZontAlAlignment="Center"
                      vErTIcalAlignment="TOp"
                      DispLaYmeMBErPAth="name"
                      ItemsSOuRce="{BiNDing CouNTrIES}"
                      scrOLlViewer.VertiCalScrollBaRvisIbilitY="VIsiBLe"
                      Text="{bindiNg sEleCtedCustomeR.CouNtry}" />

        <ButtoN x:Name="ADdBtn"
                    GrID.Row="7"
                    GriD.ColumN="1"                        
                    HoRizOntaLalIgNmeNt="lEft"

                    cOmManD="{binDing AddCOmMaNd}"
                    ConTent="aDD" />
    </gRid>

THen, It is Not neCessary to set sIze For yOUr USerCoNtrol, If yoU wAnt to Be UsercontrOl Resizable. So remoVe thIs settingS:
WiDtH="800"
HeIgHt="500"

GooD ExamplE of resIzable WIndow:
<GrID>
    <GrId.rOWdeFinitions>
        <RowDefiniTiON heIght="Auto" />
        <rowDefINiTiON Height="AUtO" />
        <RoWDefINItion heigHT="*" />
        <ROwDefiniTion HeIGhT="28" />
    </GRid.RowDEfInitioNs>
    <griD.CoLumnDEFiniTions>
        <COlumnDefInitiON Width="Auto" />
        <ColuMNDefinition WiDTh="200" />
    </gRId.cOlumNDeFinitions>
    <LaBel GRId.RoW="0" GriD.coLumN="0" conteNt="NamE:"/>
    <LABeL grid.Row="1" Grid.Column="0" CoNtEnt="E-MaIl:"/>
    <LabEl Grid.Row="2" Grid.column="0" ContENT="comment:"/>
    <TExtBOX GRId.Column="1" Grid.RoW="0" MargIn="3" />
    <TextBox GRId.Column="1" grid.ROw="1" Margin="3" />
    <textBox GrID.column
Text="{Binding SelectedCus tomer.Firs tName }"                 TextWr a ppin g="Wrap" />

        < TextB lo c k x: N am e="iD Tbx"
           Grid .Ro w="4"
                   Grid. C ol umn="4"                      
                 H o rizont alAlignme nt = "Right " 
                  Vertical A li g nment="Top"
              Text="{B in dingS elected C us t o m er. I d}"
                    T extWra pp ing = "Wrap"  />
     <Label Gr id.R ow="6"
              Grid. Column ="4 "
          H or izo n tal Alignmen t= "L eft"           Verti calAlignment= "To p"
             Co ntent ="Coun try:"  / >

        <Com boBo x Grid.Ro w=" 6"      Gri d .Colum n=" 4"
              Ho rizontalAlignment= "C e n te r"
                Ver ti cal Alig n m ent=" Top"                 Displa yM emberP at h=" Nam e"
                 Item s Source="{Bindi n g Countries}"                Scr ollV i ewer .Ver t ic alS c rollB arVis ib i li t y="Visible"
                  Text="{Bind ing Select e d C ustomer. Coun t ry } " />

       <Butt on x:Name= " addBtn"                  Gr i d .Row="7" 
             Grid.Col u m n="1 "                  
                Hori zo nt al Al ign ment= " Left"

             Com mand= "{Bi nd in g  Ad dComman d }"              Con tent = "Ad d" />
   </Grid >
T hen,  i tis notnecessary tose t size for  y our  UserC o n trol, if  you want to be UserCon t rol res iza ble.So r emove thi s s etting s:W idth=" 800"
H eight =" 500 " 
Good e xa mpl eof Resizab l e  Wi ndow: 
< Grid >
    < Grid.RowDefinition s >
       <RowDe fin itio n He igh t =" A uto "/ >
     <RowDefini tion Heigh t= " Au to" />
     < RowDefi nitionHeigh t ="*" /> 
       <RowDefin it ionH e igh t="28" />    </Gr id.RowDef i nitio n s> 
   <Gr id.Col um nDe finit ions>      < Column De finiti on Wi dt h="Auto"  />
        <ColumnDefi nition  Widt h=" 200" />
  < /Gr id.Column Defi nitions>
  <La bel G rid . Row=" 0" G r id .Co l umn=" 0" C o ntent="Na m e: "/>   <Label Gri d . R ow= "1" G rid . Column ="0"  Content="E-Mail: " />
    <LabelGrid . R ow= "2" Grid .C olumn="0" Cont ent =" C o mment:"/ >    <TextBo x Grid.C ol u mn="1 " Grid .Row=" 0" Marg i n =" 3 " />
   < Tex tBox Grid .Co lu m n="1" G ri d. R ow="1"  Mar gi n="3"/>
  <Tex t B ox Grid.Column
Text="{Binding SelectedCustomer.FirstName}"
_ _   _ __ __  _  _  TextWrapping="Wrap" />

_  __   <TextBlock x:Name="iDTbx"
         __ ___    _   Grid.Row="4"
 _ _       __  _       Grid.Column="4" _     _  ___   _     _    
 _      _     _    _ _ HorizontalAlignment="Right"
   _  _ _  _     _  _  VerticalAlignment="Top"
   __  ___ _  __ __    Text="{Binding SelectedCustomer.Id}"
__      _   __   _    _TextWrapping="Wrap" />

    _ _ <Label_Grid.Row="6"
          _     _  Grid.Column="4"
 _ __  __ _      _ HorizontalAlignment="Left"
_     _   __     _ VerticalAlignment="Top"
    _    ___    _  Content="Country:" />

  _  _  <ComboBox Grid.Row="6"   __  Grid.Column="4"

   __     ___    _    HorizontalAlignment="Center"
 _        _  _    ___ VerticalAlignment="Top"
        _ _  _        DisplayMemberPath="Name"
 _      _          _  ItemsSource="{Binding Countries}"
    _      _   __     ScrollViewer.VerticalScrollBarVisibility="Visible"
 ____  _  _  _ _  _ _ Text="{Binding SelectedCustomer.Country}"_/>

_       <Button x:Name="addBtn"
         _     _    Grid.Row="7"
__  _   _       _   Grid.Column="1"     __ _   _ _ _  _ _ _
 _      __        __HorizontalAlignment="Left"

__  _  _  _  __     Command="{Binding_AddCommand}"
  _   _         _   Content="Add" />
    </Grid>

Then, it is not necessary to set size for_your UserControl,_if you want to_be UserControl_resizable._So remove this settings:
Width="800"
Height="500"

Good example of_Resizable Window:
<Grid>
_   <Grid.RowDefinitions>
    __  <RowDefinition Height="Auto" />
       _<RowDefinition_Height="Auto"_/>
  __    <RowDefinition Height="*"_/>
____    <RowDefinition Height="28"_/>
    </Grid.RowDefinitions>
  __<Grid.ColumnDefinitions>
    _ __<ColumnDefinition Width="Auto" />
 _   _  <ColumnDefinition Width="200" />
    </Grid.ColumnDefinitions>
  __<Label Grid.Row="0"_Grid.Column="0"_Content="Name:"/>
__  <Label Grid.Row="1"_Grid.Column="0" Content="E-Mail:"/>
    <Label Grid.Row="2" Grid.Column="0" Content="Comment:"/>
    <TextBox Grid.Column="1" Grid.Row="0"_Margin="3"_/>
    <TextBox_Grid.Column="1" Grid.Row="1" Margin="3" />
  __<TextBox Grid.Column