After I posted about how to regain tab navigation in a popup, Ian commented that the workaround had some flaws.  First, he lost intellisense inside the <UserControl> and second, which is more painful, he could not refer to any controls inside the child <UserControl> from the page's code-behind.

Well, I found a more suitable workaround.  Instead of using a <UserControl> to set the TabNagation, you can use a <ContentControl> instead.  Here's the updated workaround code:

   1: <UserControl x:Class="PopupTabbing.Page"
   2:     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
   3:     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
   4:     Width="400" Height="300">
   5:     <Grid x:Name="LayoutRoot" Background="White">
   6:         <Popup IsOpen="True">
   7:             <Popup.Child>
   8:                 <ContentControl TabNavigation="Cycle">
   9:                     <StackPanel Width="150">
  10:                         <TextBlock Text="Username" />
  11:                         <TextBox x:Name="Username" />
  12:                         <TextBlock Text="Password" />
  13:                         <PasswordBox x:Name="Password" PasswordChanged="Password_PasswordChanged" />
  14:                         <Button Width="75" Content="Login" Click="Button_Click" />
  15:                     </StackPanel>
  16:                 </ContentControl>
  17:             </Popup.Child>
  18:         </Popup>
  19:     </Grid>
  20: </UserControl>


Thanks to Ian for pointing out the problems with the workaround!