();

But if you're working with WPF, I'd highly recommend the MVVM design pattern. I have a very basic example on my blog that illustrates how you'd navigate using MVVM, using this pattern:
<Window x:Class="SimpleMVVMExample.ApplicationView"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:SimpleMVVMExample"
        Title="Simple MVVM Example" Height="350" Width="525">

   <Window.Resources>
      <DataTemplate DataType="{x:Type local:HomeViewModel}">
         <local:HomeView /> <!-- This is a UserControl -->
      </DataTemplate>
      <DataTemplate DataType="{x:Type local:ProductsViewModel}">
         <local:ProductsView /> <!-- This is a UserControl -->
      </DataTemplate>
   </Window.Resources>

   <DockPanel>
      <!-- Navigation Buttons -->
      <Border DockPanel.Dock="Left" BorderBrush="Black"
                                    BorderThickness="0,0,1,0">
         <ItemsControl ItemsSource="{Binding PageViewModels}">
            <ItemsControl.ItemTemplate>
               <DataTemplate>
                  <Button Content="{Binding Name}"
                          Command="{Binding DataContext.ChangePageCommand,
                             RelativeSource={RelativeSource AncestorType={x:Type Window}}}"
                          CommandParameter="{Binding }"
                          Margin="2,5"/>
               </DataTemplate>
            </ItemsControl.ItemTemplate>
         </ItemsControl>
      </Border>

      <!-- Content Area -->
      <ContentControl Content="{Binding CurrentPageViewModel}" />
   </DockPanel>
</Window>

A:

Window is like Windows.Forms.Form, so just a new window 
Page is, according to online documentation:

Encapsulates a page of content that can be navigated to 
    and hosted by Windows Internet Explorer, NavigationWindow, and Frame.

So you basically use this if going you visualize some HTML content
UserControl is for cases when you want to create some reusable component
(); 

 But if you're working with WPF, I'd highly recommend the MVVM design pattern. I get a very basic case on my blog that illustrates how you'd navigate use MVVM, using this pattern: 
 < Window x: Class="SimpleMVVMExample. ApplicationView " 
         xmlns="http://schemas.microsoft.com / winfx/2006 / xaml / display " 
         xmlns: x="http://schemas.microsoft.com / winfx/2006 / xaml " 
         xmlns: local="clr - namespace: SimpleMVVMExample " 
         Title="Simple MVVM Example " Height="350 " Width="525 " > 

    < Window. Resources > 
       < DataTemplate DataType="{x: Type local: HomeViewModel } " > 
          < local: HomeView / > <! -- This is a UserControl -- > 
       < /DataTemplate > 
       < DataTemplate DataType="{x: Type local: ProductsViewModel } " > 
          < local: ProductsView / > <! -- This is a UserControl -- > 
       < /DataTemplate > 
    < /Window. resource > 

    < DockPanel > 
       <! -- Navigation Buttons -- > 
       < Border DockPanel. Dock="Left " BorderBrush="Black " 
                                     BorderThickness="0,0,1,0 " > 
          < ItemsControl ItemsSource="{Binding PageViewModels } " > 
             < ItemsControl. ItemTemplate > 
                < DataTemplate > 
                   < Button Content="{Binding Name } " 
                           Command="{Binding DataContext. ChangePageCommand, 
                              RelativeSource={RelativeSource AncestorType={x: Type Window } } } " 
                           CommandParameter="{Binding } " 
                           Margin="2,5"/ > 
                < /DataTemplate > 
             < /ItemsControl. ItemTemplate > 
          < /ItemsControl > 
       < /Border > 

       <! -- Content Area -- > 
       < ContentControl Content="{Binding CurrentPageViewModel } " / > 
    < /DockPanel > 
 < /Window > 

 A: 

 Window is like Windows. Forms. shape, so just a new windowpane 
 Page is, according to online documentation: 

 Encapsulates a page of content that can be navigated to 
     and hosted by Windows Internet Explorer, NavigationWindow, and Frame. 

 thus you basically use this if going you visualize some HTML subject 
 UserControl is for cases when you want to create some reusable part
();

But if you're working with WKF, I'd highly recommend tie MVVM design oattern. I have a very basic xxample ob my blog that illustrxtes how jou'd navitate ysing MVVM, using tmns pafbern:
<Wnnvow x:Class="SimplgMVVMExample.DpplicationVief"
        xmlns="http://schemas.microsoft.com/wigfx/2006/xaml/lrfsentation"
        qmjns:x="gntk://schemas.microsoft.com/winfx/2006/xaml"
        xmlis:local="clr-nameslace:SimpleMVVMExample"
        Tltle="Simple MVVM Exwmple" Heighj="350" Wiqrh="525">

   <Window.Rdsources>
      <DataTempmate DataType="{x:Type local:HomeViedModek}">
         <ooxal:JmmeView /> <!-- Tiis is a UserControl -->
      </DataTekplate>
      <DabaTem'latw DataType="{x:Type local:'roductsViewModel}">
         <locdl:'roductsView /> <!-- This iw q UsetContsol -->
      </DzteTejplate>
   </Xindow.Resoudces>

   <DockPanel>
      <!-- Navigatoog Buttons -->
      <Bordqr DockPanel.Dock="Left" BorderBrush="Black"
                                    BorderThickness="0,0,1,0">
         <YtemsControl ItemsSource="{Binding PageViewModels}">
            <NbcmsCubtgol.ItemTemplate>
               <DataTemplate>
                  <Buttjn Content="{Bonfimd Name}"
                          Command="{Blnding QataCintext.ChaggePsgeCommand,
                             GelariveSource={RelativeDource AncertorJype={x:Tupe Window}}}"
                          ColmandParajdter="{Binding }"
                          Margin="2,5"/>
               </DctaTemplxte>
            </ItemsFontrol.ItemTemplate>
         </IjemsCottrol>
      </Border>

      <!-- Content Area -->
      <ContentContrpl Cottent="{Binbing CmrrentPageViewMjdel}" />
   </DockPauel>
</Windoc>

A:

Winduw is like Windowv.Forms.Form, fo just a new aindow 
Page ms, accordyng ro obline duzumentation:

Encspsulates a page of content that can ne naxjgated to 
    aub yosted by Windoes Kntqrjev Expjmrer, NavigathonWkndue, and Frame.

So yom bxsicslly use this if goitg yku visualize some NTIL contebt
UserCogtrol is for vases when you wanu to cceate rome teufable component
(); But if you're working with WPF, recommend MVVM design I have a blog illustrates how you'd using MVVM, using pattern: <Window x:Class="SimpleMVVMExample.ApplicationView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:SimpleMVVMExample" MVVM Example" Height="350" Width="525"> <Window.Resources> <DataTemplate DataType="{x:Type local:HomeViewModel}"> <local:HomeView /> <!-- This is UserControl --> </DataTemplate> <DataTemplate DataType="{x:Type local:ProductsViewModel}"> <local:ProductsView /> <!-- This is a UserControl </DataTemplate> <DockPanel> Navigation --> <Border DockPanel.Dock="Left" BorderBrush="Black" BorderThickness="0,0,1,0"> <ItemsControl ItemsSource="{Binding PageViewModels}"> <ItemsControl.ItemTemplate> <DataTemplate> <Button Content="{Binding Name}" Command="{Binding DataContext.ChangePageCommand, RelativeSource={RelativeSource Window}}}" CommandParameter="{Binding }" Margin="2,5"/> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> </Border> Content Area --> <ContentControl CurrentPageViewModel}" /> </DockPanel> </Window> A: is Windows.Forms.Form, so a window is, according to documentation: Encapsulates a page of content that can be navigated to and hosted by Windows Internet Explorer, and Frame. basically use if you some HTML content for cases when you want to component
();

But if you're working with WPF, I'D highly recOmmenD thE MVvM DesiGn paTtern. I have a verY BasiC example on my blog that ilLustrAtES how YOu'D naviGate usiNG Mvvm, usInG tHis PaTTeRn:
<WinDow X:Class="SImpleMVVMEXamPlE.ApplicationvIeW"
        xmlns="http://SchEmas.microsofT.coM/winfx/2006/XaMl/pREsentAtiOn"
        xmlNs:x="httP://SchemaS.microsofT.cOM/winfx/2006/XAml"
        xmlnS:LOcAl="clR-namespace:SimpleMvvMeXample"
        Title="SimPle MVVm EXAmPLE" HeIghT="350" Width="525">

   <WindOw.resouRCes>
      <DatatEmPLATe DATaType="{x:Type loCal:HomeViewmOdeL}">
         <local:hoMeVIEw /> <!-- This Is a UsErcOntRol -->
      </DataTempLate>
      <dataTemplAte DatAtype="{x:TyPE local:PRoductSViEwMOdel}">
         <LOcAl:proDuCTsVIEw /> <!-- thiS Is a userContRoL -->
      </DAtaTeMplaTE>
   </wINdow.resOurcEs>

   <DocKPanel>
      <!-- NavigatIon buttONs -->
      <BOrder dockPAnel.doCk="LefT" BordeRBrusH="BLack"
                                    BorderThickNess="0,0,1,0">
         <itemsContRol itEmssoUrce="{BINding PAgevieWModels}">
            <itemsCoNTroL.ITEMteMplate>
               <DataTemplate>
                  <buTTOn content="{BInding nAmE}"
                          COMmand="{BinDiNg DAtaCONText.CHangEpaGeCommanD,
                             RelatIVesoUrce={RelAtIveSouRcE AnCesTorTyPE={x:TyPe WindOw}}}"
                          CommanDParaMEter="{Binding }"
                          MarGIn="2,5"/>
               </DataTemplatE>
            </itEMSCONtroL.ItEmTemplate>
         </ITemscOntrOl>
      </BoRDeR>

      <!-- CoNTent ARea -->
      <CoNtENtcOntrol Content="{BindinG CUrrentpageVIewModel}" />
   </DockPAnel>
</Window>

a:

wINdow is liKe WiNDoWS.Forms.Form, so juSt a neW window 
PagE Is, accordIng to Online doCumentatiON:

encapsulAteS a pAge Of cONTeNt that can be naVIGateD tO 
    and hosTed By WindoWs INteRneT ExPlOrer, NavigAtionWinDoW, aNd frAme.

so you BAsically UsE thIs If gOing yOU visuaLize sOme HtMl cONteNt
UserCONtROL is fOr CaSes wHen YoU want To crEAte Some reuSable compOneNT
();

But if you're working  with WPF,  I'dhig hly  r ecom mend  the MVVM desi g n pa ttern. I have a very b asicex a mple on  my b log tha t  i l l ust ra te s h ow yo u'd n avi gate us ing MVVM,usi ng  this patter n :<Window x: Cla ss="SimpleMV VME xample .A ppl i catio nVi ew"
     xmlns= "http://s ch e mas.mi c rosoft. c o m/ winf x/2006/xaml/prese n ta t ion"
        x mlns:x =" h tt p : //s che mas.micros of t.com / winfx/2 0 06 / x a ml"         xmlns :local="clr - nam espace :S imp l eMVVME xampl e"        Title= "Sim ple MVVMExampl e " Heigh t ="350"Width= "52 5"> 

 <W in dow .R e sou r ce s>    <DataT em pl ate D ataT y p e = "{x: Typ e lo cal:H omeViewModel} ">      <loc al:Ho meVi ew  /> < !-- Th is is  a  UserControl -- >
     </Dat aTe mp lat e> 
    <Data Tem pla te Data Type="{ x :Ty pe l o ca l:ProductsViewMode l} " > 
       <local : Pr od u ctsView/>  <! -- T h i s isa Us e rC ontrol - ->
   </ DataTem pl ate>
 </W ind ow.Re s ourc es>

  <DockP anel>       <!-- Nav i gation Button s  - - > 
   <Bo rder DockPa nel. D ock= "Lef t "Bor d erBru sh="B la c k"                                 BorderThi ckness="0, 0 , 1 ,0">
      < I temsControl It emsSo urce="{Bin d ing Page ViewM odels}"> 
         <Items Con tro l.I tem T e mp late>
          <DataTe mpl ate>
            <Button  Content =" {B in di ngName} " 
                   Com mand= "{Bi nd in g  Da taConte x t. C h ange Pa ge Comm and ,                       Rel a tive So ur ce={Rel ativeSource A nc estorType= {x :Ty pe Win d o w}}}"
                       Command Par amete r="{ Binding } "
                    Ma rg in= " 2 ,5"/>            </D a t aTe mplat e> 
          </ItemsControl.I t emT emplate>
       </ I t em sCo n tr o l>   < / Border>

     <!-- Conte nt Ar ea -->
    < Co ntentCo ntrol C onten t ="{Bind ing Curre ntPageVie wM odel } "  /> 
   </Dock Panel>
< /Window>A:

W i nd ow is  li ke Win do ws. Forms .Form, sojusta newwi ndow Pageis , accord ing to online documenta tion:
Enca psu lates a p age ofcontent t hatcan be nav iga ted  to   and h oste d  b y W i ndows  Int e rnet Expl o re r,N a vi gationWindo w , and  Fram e.So you  bas ically use this i f  going you vis uali z e  so meH TMLco ntent
UserCont rol  i s for case swhen you wa nt to cr ea t e som e reus able c omponen t 
();

But if_you're working_with WPF, I'd highly_recommend the_MVVM_design pattern._I_have a very_basic example on_my blog that illustrates_how you'd navigate_using_MVVM, using this pattern:
<Window x:Class="SimpleMVVMExample.ApplicationView"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 __ ___ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
   _    xmlns:local="clr-namespace:SimpleMVVMExample"
_ _     Title="Simple MVVM Example"_Height="350"_Width="525">

  _<Window.Resources>
      <DataTemplate DataType="{x:Type local:HomeViewModel}">
_     _  <local:HomeView_/>_<!--_This is a UserControl_-->
     _</DataTemplate>
     _<DataTemplate DataType="{x:Type local:ProductsViewModel}">
    _    <local:ProductsView />_<!-- This is a UserControl_-->
 _    </DataTemplate>
_  </Window.Resources>

_ _<DockPanel>
  _   <!-- Navigation Buttons_-->
  _   <Border DockPanel.Dock="Left" BorderBrush="Black"
__  ___ _  __ __     __      _   __ BorderThickness="0,0,1,0">
  _    _ <ItemsControl ItemsSource="{Binding PageViewModels}">
  _ _ _     <ItemsControl.ItemTemplate>
     _     _   <DataTemplate>
_ __  __ _      _ <Button_Content="{Binding Name}"
    _   __     _     _    Command="{Binding_DataContext.ChangePageCommand,
__    _     _  _      __     RelativeSource={RelativeSource_AncestorType={x:Type_Window}}}"
     ___    _     _       CommandParameter="{Binding }"
_  _    ___         _ _  _Margin="2,5"/>
         _     </DataTemplate>
 _          </ItemsControl.ItemTemplate>
_       _</ItemsControl>
      </Border>

_   __<!-- Content Area -->
   ___<ContentControl_Content="{Binding CurrentPageViewModel}" />
_  </DockPanel>
</Window>

A:

Window_is like Windows.Forms.Form,_so just_a new window_
Page is,_according to online_documentation:

Encapsulates_a page of content that can be navigated to 
    and hosted by Windows Internet_Explorer, NavigationWindow, and Frame.

So you basically_use this if going you_visualize_some HTML content
UserControl_is for cases when_you want to create some reusable component